【发布时间】:2019-03-02 16:19:41
【问题描述】:
是否有任何库或工具可以获取 Telegram 消息流?我所说的流是指收听客户的聊天、群组和频道,并收集任何新消息。像 Twitter 流 API 之类的东西。我研究了 Telethon 库,可以收集聊天、群组和频道的历史数据,但我找不到任何方法来收听该库中的新传入消息!
【问题讨论】:
是否有任何库或工具可以获取 Telegram 消息流?我所说的流是指收听客户的聊天、群组和频道,并收集任何新消息。像 Twitter 流 API 之类的东西。我研究了 Telethon 库,可以收集聊天、群组和频道的历史数据,但我找不到任何方法来收听该库中的新传入消息!
【问题讨论】:
Telethon 确实允许您这样做。你需要使用events。有各种类型的事件,对于您的情况,您需要使用 NewMessage 事件。您可以在此链接here 中阅读更多相关信息。这是一个 sn-p,它可以完全按照您从链接中获取的内容进行操作。
from telethon import TelegramClient, events
client = TelegramClient('name', api_id, api_hash)
@client.on(events.NewMessage)
async def my_event_handler(event):
if 'hello' in event.raw_text:
await event.reply('hi!')
client.start()
client.run_until_disconnected()
【讨论】: