您好,我正在使用电报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))
答案 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)
还有许多其他过滤选项,因此我建议您查阅前面链接的文档。