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

PHP Telegram Bot实现频道发消息后自动回复关联讨论组线程

实现Telegram频道消息同步至讨论组并自动发首条评论的PHP方案

核心逻辑

要达成需求,关键是拿到频道消息同步到讨论组后的对应消息ID,以此为回复目标在讨论组发送评论,就能让频道消息显示存在评论。

具体PHP实现步骤

  • 第一步:在频道发布消息并保存ID
    调用Telegram Bot API的sendMessage接口发布频道消息,保存返回结果里的频道消息ID:

    $botToken = '你的机器人Token';
    $channelId = '@你的频道用户名';
    $msgContent = '频道要发布的内容';
    
    // 发送频道消息
    $resp = file_get_contents("https://api.telegram.org/bot{$botToken}/sendMessage?chat_id={$channelId}&text={$msgContent}");
    $channelMsgInfo = json_decode($resp, true);
    $channelMsgId = $channelMsgInfo['result']['message_id'];
    
  • 第二步:获取讨论组内同步的消息ID
    频道消息会自动同步到关联讨论组,调用searchMessages接口,通过频道ID和频道消息ID,搜索讨论组内对应的同步消息:

    $groupId = '-100你的讨论组ID'; // 超级群ID需带-100前缀
    
    // 搜索讨论组中的同步消息
    $searchResp = file_get_contents("https://api.telegram.org/bot{$botToken}/searchMessages?chat_id={$groupId}&from_chat_id={$channelId}&message_id={$channelMsgId}");
    $groupMsgInfo = json_decode($searchResp, true);
    $groupSyncMsgId = $groupMsgInfo['result'][0]['message_id'];
    

    注:如果搜索无结果,可延迟1-2秒再重试,同步可能有短暂延迟。

  • 第三步:在讨论组对应线程发送评论
    调用sendMessage接口,指定reply_to_message_id为上面拿到的讨论组同步消息ID,发送评论:

    $replyContent = '自动发布的首条评论内容';
    
    // 发送线程评论
    file_get_contents("https://api.telegram.org/bot{$botToken}/sendMessage?chat_id={$groupId}&text={$replyContent}&reply_to_message_id={$groupSyncMsgId}");
    

必要权限说明

  • 机器人必须是频道和讨论组的管理员,拥有发布消息和读取消息的权限。
  • 建议用PHP的cURL替代file_get_contents,处理大内容或网络波动时更稳定。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.25 17:54:33