从电报频道接收消息

时间:2018-11-01 08:00:59

标签: python-3.x telegram python-asyncio telethon

我正在尝试使用Telethon库从Telegram频道获取消息。每周消息按类型发布:

  • 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 :(得分:0)

  

我收到一条消息:<async_generator._impl.AsyncGenerator object at 0xfb8624c49>

那只是异步生成器对象。要从中检索消息,您需要对其进行迭代

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