Python中的侦听器-电报

时间:2018-12-16 12:18:18

标签: python telegram telethon

您好,我正在使用电报api telethon。在这里,我想不断地用python代码监听群组消息。

我能够从组中读取消息,但是每次我需要运行代码时。有什么方法可以实现我的代码应该同步监听消息。

下面的

代码段为我提供了分组消息。需要在其中添加侦听器代码。

client = TelegramClient('session_read', api_id, api_hash)
client.start()

dialog_count = 50
dialogs = client.get_dialogs(dialog_count)
for i, entity in enumerate(dialogs):

    if entity.name == 'GroupName':
     print('{}'.format(entity.message.message))

1 个答案:

答案 0 :(得分:4)

Telethon具有here中所述的事件处理程序。对于基本的新消息处理程序,第一个示例应该这样做:

from telethon import TelegramClient, events

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

@client.on(events.NewMessage)
async def my_event_handler(event):
    print('{}'.format(event))

client.start()
client.run_until_disconnected()

如果要检查它是否在特定组中,可以在chats上使用events.NewMessage参数:

@client.on(events.NewMessage(chats=("GroupName", "Group2")))
async def my_event_handler(event):
    print(event)

还有许多其他过滤选项,因此我建议您查阅前面链接的文档。