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

如何在Telegram机器人私聊中生成特定消息的可点击链接?

解决Telegram机器人私聊消息跳转链接的问题

为什么你之前的链接格式无效

你尝试的几种链接都是针对公开频道/超级群组或公开用户主页内容的,而私聊消息属于一对一的非公开会话,这些格式不适用,所以会返回权限错误或找不到应用。

可行的实现方法

方法1:使用tg://openmessage原生协议

这是Telegram官方支持的用于打开私聊特定消息的协议,格式如下:

tg://openmessage?user_id=<执行者数字ID>&message_id=<目标消息ID>
  • 必须使用执行者的数字用户ID(不能用用户名或机器人用户名),因为私聊会话是基于用户ID关联的。
  • 该协议在Windows和Android官方客户端中均能正常工作,点击后会直接打开与机器人的私聊并定位到指定消息。

方法2:发送消息引用(更可靠)

不需要额外链接,直接在给执行者的消息中引用目标申请消息。Telegram原生支持同一聊天内的消息引用,执行者点击引用即可直接跳转到原消息。
实现时,调用机器人API发送消息时,设置reply_to_message_id为目标申请消息的ID,这样发送的消息会自动带上原消息的引用,点击引用就能跳转。

方法3:Inline按钮跳转

如果需要用按钮形式引导,可以创建一个Inline键盘按钮,将按钮的url属性设置为上述tg://openmessage协议链接。示例(伪代码):

from telegram import InlineKeyboardButton, InlineKeyboardMarkup

button = InlineKeyboardButton(
    "查看申请",
    url="tg://openmessage?user_id=123456&message_id=789012"
)
keyboard = InlineKeyboardMarkup([[button]])
# 发送带按钮的消息给执行者
bot.send_message(chat_id=执行者ID, text="请查看你的申请:", reply_markup=keyboard)

注意事项

  • 确保执行者与机器人已有私聊会话(你已确认消息ID和用户ID正确,这一点满足)。
  • 所有ID必须为纯数字,不能包含任何额外字符(比如引号、字母)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.15 00:32:32