电报URL架构:触发客户端打开“共享/发送到”对话框的URL

时间:2018-06-30 16:42:58

标签: telegram telegram-bot python-telegram-bot

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

我在@pollbot中看到了此链接,下面是其截屏。

When click this link, Telegram client will popup send to dialogue


更多细节:

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

1 个答案:

答案 0 :(得分:3)

该链接可用于深层链接,请在此处阅读以下内容: https://core.telegram.org/bots#deep-linking

URL具有以下方案: https://telegram.me/<YourBotUsername>?startgroup=<Payload>

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

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

您还可以使用start代替startgroup来打开私人聊天。