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

WTelegramClient如何捕获消息新增评论事件?附现有实现代码

识别Telegram消息新增评论的方法

一、直接监听特定更新事件

Telegram API提供了专门的更新类型来捕获评论新增,无需每次调用Messages_GetReplies,你可以在监听逻辑里新增以下判断分支:

  • UpdateNewMessage:当评论作为新消息发送时,这条消息的reply_to字段会指向对应的主消息,通过这个字段可判定为新增评论。
  • UpdateNewChannelMessage:针对频道内的评论,会触发该更新类型,同样通过reply_to字段关联到主消息。

修改后的监听函数示例:

private async Task ListenUpdate(IObject arg)
{
    if (arg is not UpdatesBase updates)
    {
        _logger.LogWarning($"received not UpdatesBase event: {arg.GetType()}");
        return;
    }
    foreach (var update in updates.UpdateList)
        switch (update)
        {
            case UpdateNewMessage unm: 
                if (unm.message.ReplyTo != null)
                {
                    // 这是关联主消息的评论,主消息ID为unm.message.ReplyTo.ReplyToMsgId
                    await ProcessCommentMessage(unm.message);
                }
                else
                {
                    await ProcessEventMessage(unm.message);
                }
                break;
            case UpdateNewChannelMessage uncm:
                if (uncm.message.ReplyTo != null)
                {
                    // 频道内的评论消息
                    await ProcessChannelCommentMessage(uncm.message);
                }
                else
                {
                    await ProcessEventMessage(uncm.message);
                }
                break;
            case UpdateEditMessage uem: await ProcessEventMessage(uem.message); break;
            default: _logger.LogInformation($"handle a type message type: {update.GetType().Name}"); break; 
        }
}

二、UpdateEditMessage与Messages_GetReplies的适用场景

  • UpdateEditMessage仅用于捕获已有消息被编辑的场景,不是新增评论的触发事件,不需要在此事件中调用Messages_GetReplies获取新增评论。
  • Messages_GetReplies仅适用于两种情况:一是初始化拉取某条消息的历史评论;二是极端情况下更新事件丢失,需要主动同步评论列表。

核心判断逻辑

所有评论消息都会携带reply_to字段,该字段包含了所回复的主消息ID及对应对话/频道信息,通过这个字段可以精准区分普通消息和评论消息。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.14 17:02:25