Telegram URL schema: url 触发客户端打开 "share/send to" 对话

Telegram URL schema: which url to trigger the client to open the "share/send to" dialogue

我正在开发一个电报机器人,正在寻找确切的 URL 架构来在电报客户端中弹出 "Share / Select Group / Send to" 对话。

我在@pollbot 中看到了这个 link,为此我截取了以下屏幕截图。


更多细节:

  1. 我想要的是为最终用户提供一种将机器人添加到他们的组的简单方法,就像 PollBot 所做的那样:创建投票时,PollBot 将 return 给用户一个特别的赞.通过单击 link,用户可以轻松地将 PollBot 添加到组中。所以我正在寻找 link.
  2. 的确切 URL 架构
  3. 然后我检查 link PollBot 在电报网络客户端中发送给我,发现它是一个 tg 协议 url: tg://resolve?domain=PollBot&startgroup=5148bed5f90678b93246464b3e132052。所以我试图通过 bot.sendMessage 重新发送此 url。但事实证明 Telegram api 服务器不会解析 tg://resolve url。
  4. 那么,机器人如何设法向用户发送这样的 link?

那里的 link 与 deeplinking 一起工作,请在这里阅读: https://core.telegram.org/bots#deep-linking

url有如下方案:

https://telegram.me/<YourBotUsername>?startgroup=<Payload>

url 的 startgroup 部分(参数)告诉电报打开 'add to group' 对话框。 当您在那里选择一个组时(并且您可以将机器人添加到其中),机器人将被添加到该组并且 /start PAYLOAD 将被发送到该组。 Payload 是您定义的 startgroup 参数的值,因此您的机器人可以将它与某些内容相关联并发送匹配的回复。

请注意,Payload 只能包含某些字符,不要介意电报客户端可能会在内部将 link 转换为 tg:// url。

您也可以使用 start 而不是 startgroup 打开私人聊天。