Telegram URL schema:触发客户端打开“share/send to”对话框的url

tel*_*.io 3 telegram python-telegram-bot telegram-bot

我正在开发一个电报机器人,并寻找确切的 URL 模式以在电报客户端中弹出“共享/选择组/发送到”对话框。

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

单击此链接时,Telegram 客户端将弹出发送到对话


更多细节:

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

Tho*_*ern 7

那里的链接适用于深层链接,请在此处阅读:https : //core.telegram.org/bots#deep-linking

该网址具有以下方案:

https://telegram.me/<YourBotUsername>?startgroup=<Payload>
Run Code Online (Sandbox Code Playgroud)

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

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

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