【问题标题】:Listener in python - telegrampython中的监听器 - 电报
【发布时间】:2019-05-17 00:58:50
【问题描述】:

您好,我正在使用电报 API 电视马拉松。在这里,我想在 python 代码中不断地收听组消息。

我能够阅读来自群组的消息,但每次我都需要运行代码。有什么方法可以实现我的代码应该同步收听消息。

下面是代码 sn-ps,它给我分组消息。需要在里面添加监听代码。

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

【问题讨论】:

    标签: python telegram telethon


    【解决方案1】:

    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)
    

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

    【讨论】:

      猜你喜欢
      • 2012-07-23
      • 2022-09-28
      • 2019-10-24
      • 1970-01-01
      • 2012-08-08
      • 1970-01-01
      • 2020-05-30
      • 1970-01-01
      • 2012-11-11
      相关资源
      最近更新 更多