Handle ChatParticipantsForbidden
This commit is contained in:
@@ -29,6 +29,7 @@ from telethon.tl.types import (
|
||||
ChatForbidden,
|
||||
ChatParticipantAdmin,
|
||||
ChatParticipantCreator,
|
||||
ChatParticipantsForbidden,
|
||||
InputChannel,
|
||||
InputUser,
|
||||
MessageActionChatAddUser,
|
||||
@@ -198,6 +199,8 @@ class Bot(AbstractUser):
|
||||
return pcp
|
||||
elif isinstance(chat, PeerChat):
|
||||
chat = await self.client(GetFullChatRequest(chat.chat_id))
|
||||
if isinstance(chat.full_chat.participants, ChatParticipantsForbidden):
|
||||
return None
|
||||
participants = chat.full_chat.participants.participants
|
||||
for p in participants:
|
||||
self._admin_cache[chat.channel_id, tgid] = (p, time.time())
|
||||
|
||||
@@ -24,6 +24,7 @@ from telethon.tl.types import (
|
||||
ChannelParticipantBanned,
|
||||
ChannelParticipantsRecent,
|
||||
ChannelParticipantsSearch,
|
||||
ChatParticipantsForbidden,
|
||||
InputChannel,
|
||||
InputUser,
|
||||
TypeChannelParticipant,
|
||||
@@ -93,6 +94,8 @@ async def get_users(
|
||||
) -> list[TypeUser]:
|
||||
if peer_type == "chat":
|
||||
chat = await client(GetFullChatRequest(chat_id=tgid))
|
||||
if isinstance(chat.full_chat.participants, ChatParticipantsForbidden):
|
||||
return []
|
||||
users = list(_filter_participants(chat.users, chat.full_chat.participants.participants))
|
||||
return users[:limit] if limit > 0 else users
|
||||
elif peer_type == "channel":
|
||||
|
||||
Reference in New Issue
Block a user