python 中的听众 - 电报

Listener in python - telegram

嗨,我正在处理电报 api 电视节目。这里我想在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))

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

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

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

还有很多其他过滤选项,所以我建议查看之前链接的文档。