深入链接到电报机器人

问题描述 投票:0回答:1

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

T.me/MycompanynameBot?start=Microsoft

我希望他看到与Microsoft内部3个电报频道相对应的3个行内按钮。这可能吗?

关键是漫游器必须能够从URL检索参数。

谢谢。

telegram telegram-bot python-telegram-bot telegram-webhook node-telegram-bot-api
1个回答
0
投票

是,可以通过answerCallbackQuery检索机器人参数>

或者,可以将用户重定向到指定的游戏URL。为使此选项起作用,您必须首先通过[@Botfather

为您的机器人创建一个游戏并接受条款。否则,您可以使用如下链接:t.me/your_bot?start=XXXX使用参数打开您的机器人。

这是我为您制作的一个示例:

 {
   "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

[在许多情况下,例如,当我想知道是谁邀请该用户加入漫游器时,我会使用参数来检测用户,因此我会以这种格式共享链接:

t.me/NameBot?start = ReferUserID

例如:

t.me/NameBot?start = 223110107

是我的ID,我可以看到我邀请了该机器人的用户数量。

希望有用。

© www.soinside.com 2019 - 2024. All rights reserved.