Получать сообщения от канала Telegram - PullRequest
0 голосов
/ 01 ноября 2018

Я пытаюсь получать сообщения из канала Telegram с помощью библиотеки Telethon. Каждую неделю сообщения публикуются по типу:

  • 1 сообщение содержит фамилию
  • 2 сообщения на эту фамилию

Мне нужно получить сообщение с фамилией и следующим сообщением и игнорировать все остальные сообщения для других имен.

Я получаю первое сообщение с фамилией:

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

channel = 'MyChannel'

@client.on(events.NewMessage(chats=channel)
async def my_event_handler(event):
    if 'Surname' in event.raw_text:
        messageId = event.message.id +1
        await print(client.iter_messages(channel,offset_id=messageId)

Я получаю сообщение:

 <async_generator._impl.AsyncGenerator object at 0xfb8624c49>

Подскажите, пожалуйста, как получить нужное мне сообщение в удобочитаемой форме?

1 Ответ

0 голосов
/ 01 ноября 2018

Я получаю сообщение: <async_generator._impl.AsyncGenerator object at 0xfb8624c49>

Это просто объект асинхронного генератора. Чтобы извлечь из него сообщения, вам нужно повторить по нему:

async for msg in client.iter_messages(channel,offset_id=messageId):
   print(msg)
...