You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Telethon监听Telegram消息的反应?

监听Telegram消息反应的Telethon实现方法

Telethon 提供了 events.MessageReaction 事件,专门用于监听消息的新反应,用法和你处理新消息的方式完全一致,无需轮询所有消息。

示例代码

from telethon import TelegramClient, events

# 替换为你的API凭证
api_id = 你的API_ID
api_hash = '你的API_HASH'
client = TelegramClient('reaction_session', api_id, api_hash)

@client.on(events.MessageReaction())
async def handle_reaction(event):
    reactor_id = event.sender_id
    target_message_id = event.message_id
    # 取最新添加的反应(event.reactions是当前消息的所有反应列表)
    latest_reaction = event.reactions[-1] if event.reactions else None

    if latest_reaction:
        print(f"用户 {reactor_id} 给消息 {target_message_id} 添加了反应: {latest_reaction}")

with client:
    client.run_until_disconnected()

关键说明

  • 事件触发时机:当任何用户给消息添加新反应时,该事件会立即触发
  • 过滤特定对象:可以给事件添加过滤条件,比如只监听指定聊天或用户:
    # 只监听特定聊天的反应
    @client.on(events.MessageReaction(chats=[-1001234567890]))
    # 只监听特定用户的反应
    @client.on(events.MessageReaction(users=[123456789]))
    
  • 版本要求:确保你的Telethon版本是最新的,旧版本可能没有这个事件,升级命令:pip install --upgrade telethon

内容的提问来源于stack exchange,提问作者rvnikita

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.26 18:04:59