深度链接到电报机器人

Deeplinking into a telegram bot

我有一个简单的用例。当用户点击下面的 link 时,

T.me/MycompanynameBot?start=Microsoft

我想向他展示 3 个内嵌按钮,对应于 Microsoft 中的 3 个 Telegram 频道。这可能吗?

关键是机器人必须能够从 URL 中检索参数。

谢谢。

是的,可以通过 answerCallbackQuery

检索机器人参数

Alternatively, the user can be redirected to the specified Game URL. For this option to work, you must first create a game for your bot via @Botfather and accept the terms. Otherwise, you may use links like:
t.me/your_bot?start=XXXX
that open your bot with a parameter.

这是我为您制作的示例:

 {
   "ok": true,
   "result": [{
     "update_id": 89590932,
     "message": {
       "message_id": 5978,
       "from": {
         "id": 223110107,
         "is_bot": false,
         "first_name": "Ğąme",
         "last_name": "Ǿver!",
         "username": "GameO7er",
         "language_code": "en"
       },
       "chat": {
         "id": 223110107,
         "first_name": "Ğąme",
         "last_name": "Ǿver!",
         "username": "GameO7er",
         "type": "private"
       },
       "date": 1579094448,
       "text": "/start Microsoft",
       "entities": [{
         "offset": 0,
         "length": 6,
         "type": "bot_command"
       }]
     }
   }]
 }

如您所见,type=bot_command 因此您可以解析消息 if (type == "bot_command") 并从原始文本中获取文本和子字符串 /start文本或您想做的任何事情。

在很多情况下,我会使用参数检测用户,例如,当我想知道是谁邀请该用户加入机器人时,我会以这种格式分享 link:

t.me/NameBot?start=ReferUserID

例如:

t.me/NameBot?start=223110107

是我的 ID,我可以看到我邀请了多少用户加入聊天机器人。

希望有用。