@Lsn123

Как запустить прослушивание сообщений telethon без блокировки действий?

Пока только изучаю telethon и asyncio. Появилась нужда делать несколько вещей одновременно, а именно:
1) Запустить прослушивание чата.
2) Неважно, есть ли в чате сообщения или нет, отправить сообщение.

Запускаю прослушивание сообщений по обычной схеме:
# ...
# ...
@client.on(events.NewMessage(chats=[chat]))
async def parse_event(event):
    if not isinstance(event.message, Message):
        return

    text = event.message.message

    print(text)

client.run_until_disconnect()


Всё работает, но метод run_until_disconnect всё блокирует и ничего другого делать не получается.

И вот теперь некоторые вопросы:
1) Как client.run_until_disconnect() понимает, что ему запускать? Например, через asyncio в качестве аргумента надо передать входную функцию. А тут - вообще не понимаю
2) Как запустить прослушивание сообщений без блокировки других действий? Я даже не особо пойму, каким образом модуль вообще запускает функцию прослушивания. Вроде понимаю, что оборачивает ее в декоратор, всё такое. Но а в подробностях вообще никак.
3) Если запустить без блокировки нельзя, то можно как-то при запуске прослушивания, сразу же передать ему какой-то объект, который мелькнет функции, что нужно, к примеру, отправить сообщение?
  • Вопрос задан
  • 325 просмотров
Пригласить эксперта
Ответы на вопрос 1
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы