Python中的监听器 - 电报

3

你好,我正在使用Telegram 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个回答

9

Telethon在这里有事件处理程序的文档。对于基本的新消息处理程序,第一个示例应该足够:

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()

如果您想检查它是否属于特定的群组,可以在events.NewMessage上使用chats参数:
@client.on(events.NewMessage(chats=("GroupName", "Group2")))
async def my_event_handler(event):
    print(event)

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接