Telethon: событие ChatAction не определяет, когда пользователь присоединяется к каналу - PullRequest
0 голосов
/ 03 февраля 2020

Я пытаюсь зарегистрироваться, когда пользователь присоединяется к указанному c чату (супергруппа / мегагруппа) ( chatId , это предоставляется в качестве аргумента из другой программы, не имеет значения), используя пригласительная ссылка . Проблема заключается в том, что chatAction Событие не обнаруживает, когда пользователь присоединяется, но делает, если пользователь покидает чат. Следующий код создает канал / мегагруппу, редактируя его разрешения:

with TelegramClient('anon', api_id, api_hash) as client:
        result = client(functions.channels.CreateChannelRequest(
            title='Titulo',
            about= 'Description',
            megagroup=True
        ))

        chatId = result.chats[0].id
        chat = client.get_entity(chatId)

        client.edit_permissions(chat,None,send_media=False,send_stickers=False,
                                send_gifs=False,send_games=False,send_polls=False,
                                send_inline=False,change_info=False,
                                invite_users=False,pin_messages=False)

Следующий код пытается определить, когда пользователь присоединяется к указанному c чату:

client = TelegramClient('anon', api_id, api_hash)

@client.on(events.ChatAction)
async def new_user_handler(event):

    if event.chat_id == chatId:
        chat = await event.get_chat()
        user = await event.get_user()

        if event.user_joined == True:
            chatTitle = chat.title
            userName = user.username

            print('User {} joined group {} (id: {})'.format(userName,chatTitle,chatId))

client.start()
client.run_until_disconnected()

Я пытался все возможные ошибки, связанные с идентификаторами, и это работает правильно. Я подозреваю, что это может быть связано с:

  • Работа с каналом / супергруппой в Telethon, но с июня концепция супергруппа / мегагруппа исчезла в Telegram .

Если бы вы могли помочь мне или дать мне несколько советов или знаний о правильном использовании событий в Telethon, это было бы весьма полезно. Спасибо.

...