Telethon
Telethon copied to clipboard
Please fix get_permissions method.
Please change input argument in file: /telethon/client/chats.py", line 1279
Code that causes the issue
if helpers._entity_type(entity) == helpers._EntityType.CHANNEL:
participant = await self(_tl.fn.channels.GetParticipant(
entity,
user
))
return _custom.ParticipantPermissions(participant.participant, False)
elif helpers._entity_type(entity) == helpers._EntityType.CHAT:
chat = await self(_tl.fn.messages.GetFullChat(
entity # required argument is chat_id -> entity.chat_id
))
...
Traceback
Traceback (most recent call last):
File "/Users/pavel/Documents/telegram-chats-management/scripts/bot_access_provider.py", line 173, in execute
user_permission = await is_group_member(client, dialog, search_username)
File "/Users/pavel/Documents/telegram-chats-management/scripts/bot_access_provider.py", line 97, in is_group_member
user_permission = await client.get_permissions(dialog, username)
File "/opt/homebrew/lib/python3.9/site-packages/telethon/client/chats.py", line 1279, in get_permissions
chat = await self(functions.messages.GetFullChatRequest(
File "/opt/homebrew/lib/python3.9/site-packages/telethon/client/users.py", line 30, in __call__
return await self._call(self._sender, request, ordered=ordered)
File "/opt/homebrew/lib/python3.9/site-packages/telethon/client/users.py", line 63, in _call
future = sender.send(request, ordered=ordered)
File "/opt/homebrew/lib/python3.9/site-packages/telethon/network/mtprotosender.py", line 176, in send
state = RequestState(request)
File "/opt/homebrew/lib/python3.9/site-packages/telethon/network/requeststate.py", line 17, in __init__
self.data = bytes(request)
File "/opt/homebrew/lib/python3.9/site-packages/telethon/tl/tlobject.py", line 194, in __bytes__
return self._bytes()
File "/opt/homebrew/lib/python3.9/site-packages/telethon/tl/functions/messages.py", line 2065, in _bytes
struct.pack('<q', self.chat_id),
struct.error: required argument is not an integer
I can see from this error you passed in a dialog when the expected input is an entity.
Hello!
I tried to pass input entity of the chat, it still raises the same error. Only fix which I described helps.
Thank you.
Experienced same error but fix is as easy as changing entity to entity.chat_id
Sorry that it took such a long time to resolve. This will be fixed in the next version.