如何实现Telegram Bot向关联Telegram Group的频道帖子讨论区发送评论
让Telegram Bot发布频道帖子评论的方法
我来帮你搞定这个问题!要让Telegram Bot给关联频道帖子的讨论区发评论,其实原理很简单——本质是在频道的关联讨论组里发送带对应频道帖子链接的消息,Telegram会自动把它识别成该帖子的官方评论。下面是具体步骤和代码示例:
前提条件
- 你的Bot必须是频道关联讨论组的成员,并且拥有发送消息的权限(普通成员权限即可,管理员权限更稳妥)。
- 你需要获取目标频道帖子的永久链接(格式通常是
https://t.me/[频道用户名]/[帖子ID],比如https://t.me/my_test_channel/456)。
具体实现步骤
1. 获取频道帖子的永久链接
- 手动方式:打开目标频道帖子,点击右上角的三个点,选择「复制链接」就能拿到。
- 自动方式:如果Bot是频道管理员,可以用Telegram Bot API的
getChatHistory方法(或对应开发库的封装),遍历频道消息拿到帖子的message_id,再拼接成链接:https://t.me/[频道用户名]/[message_id]。
2. 在关联群组发送带链接的消息
只要把帖子链接和你的评论内容一起发到关联群组,Telegram就会自动将这条消息关联到频道帖子的评论区,显示为官方评论。
代码示例(Python + python-telegram-bot v20)
from telegram import Bot import asyncio async def post_channel_comment(): # 替换为你的Bot Token bot_token = "YOUR_BOT_TOKEN" # 替换为关联讨论组的ID(格式如-1001234567890) group_chat_id = -1001234567890 # 替换为目标频道帖子的永久链接 post_link = "https://t.me/my_test_channel/456" # 自定义评论内容 comment_text = "这是Bot发来的自动评论!" bot = Bot(token=bot_token) # 发送包含链接的消息 await bot.send_message( chat_id=group_chat_id, text=f"{comment_text}\n\n{post_link}" ) if __name__ == "__main__": asyncio.run(post_channel_comment())
关键注意事项
- 必须确保发送消息的群组是频道的官方关联讨论组(可以在频道设置的「讨论组」选项里确认),否则发送链接不会被识别为评论。
- 私密频道的帖子链接仅对频道成员可见,但只要Bot在关联群组里,依然可以正常发送并关联成评论。
- 不需要调用特殊的API接口,Telegram的评论系统本身就是基于关联群组的消息关联逻辑,所以直接发送带链接的消息即可。
内容的提问来源于stack exchange,提问作者Neji Yang
相关产品推荐
相关产品推荐

