Don't check whether User is channel, add peer property to User
This commit is contained in:
@@ -572,7 +572,7 @@ class Portal(DBPortal, BasePortal):
|
||||
async def handle_matrix_invite(
|
||||
self, invited_by: u.User, puppet: p.Puppet | au.AbstractUser
|
||||
) -> None:
|
||||
if puppet.is_channel:
|
||||
if isinstance(puppet, p.Puppet) and puppet.is_channel:
|
||||
raise ValueError("Can't invite channels to chats")
|
||||
try:
|
||||
if self.peer_type == "chat":
|
||||
|
||||
@@ -31,6 +31,7 @@ from telethon.tl.types import (
|
||||
ChatForbidden,
|
||||
InputUserSelf,
|
||||
NotifyPeer,
|
||||
PeerUser,
|
||||
TypeUpdate,
|
||||
UpdateFolderPeers,
|
||||
UpdateNewChannelMessage,
|
||||
@@ -130,6 +131,10 @@ class User(DBUser, AbstractUser, BaseUser):
|
||||
def human_tg_id(self) -> str:
|
||||
return f"@{self.tg_username}" if self.tg_username else f"+{self.tg_phone}" or None
|
||||
|
||||
@property
|
||||
def peer(self) -> PeerUser | None:
|
||||
return PeerUser(user_id=self.tgid) if self.tgid else None
|
||||
|
||||
# TODO replace with proper displayname getting everywhere
|
||||
@property
|
||||
def displayname(self) -> str:
|
||||
|
||||
Reference in New Issue
Block a user