使用电报中的内联按钮转移控制(机器人)

Transfer control with inline buttons in telegram (bots)

如果您在聊天中有机器人生成的内联按钮,则该内联按钮可用于将您带到机器人。

我的问题是 - 反过来可能吗?

机器人是否可以有一个内联按钮(当直接与其通信时)并且它可以将控制转移到用户和机器人都在场的组

考虑这种情况: 我有一个跟踪国家名称的机器人。当添加到组中时,它会检测国家名称并显示“查看有关国家的信息”。

当您点击该按钮时,机器人会带您与其聊天(更改窗口并将您移出),然后机器人会显示有关国家/地区的信息。

然后机器人有一个“返回或取消”内联按钮。

如果您单击该按钮,它应该会将您带回到您来自的原始组。那可能吗?

变化:

它能否自动将您带回原始组(没有内联按钮)但会根据您键入的某些文本说?

我得到的只是你想让你的用户回到他们推荐的地方吗?

例如,您的频道中有 "Back" 按钮。如果用户来自 Channel A 你想检测当它点击 Back 按钮时你想把它带回 Channel A。 不,这是不可能的。 Telegram 机器人无法像这样跟踪用户 activity。但是 Telegram 自己做。例如,如果您访问这样的频道:

Channel A => First Post => Go to another channel (Channel B) => Then go to admin profile

如果您点击后退按钮三次,您将转到第一步,在本例中为 通道 A

Bot 如果您的 bot 在一个私人群组或私人频道中,您可以获得每条消息的 link 因为 Telegram 添加了此功能 here :

you can now copy links to messages in private groups and channels – just like you could with public messages.

因此,如果用户在任何私密消息中提及您的机器人用户名group/channel,您可以获得该消息的link。这是一些例子:

 {
   "ok": true,
   "result": [{
     "update_id": 954197936,
     "message": {
       "message_id": 188,
       "from": {
         "id": 223110107,
         "is_bot": false,
         "first_name": "Ğąme ",
         "last_name": "Ǿver!",
         "username": "GameO7er",
         "language_code": "en"
       },
       "chat": {
         "id": -1001241538300,
         "title": "Game Over Test Group",
         "type": "supergroup"
       },
       "date": 1576312634,
       "reply_to_message": {
         "message_id": 130,
         "from": {
           "id": 156878147,
           "is_bot": false,
           "first_name": "Carlos F",
           "username": "@Carlos****",
           "language_code": "en"
         },
         "chat": {
           "id": -1001241538300,
           "title": "Game Over Test Group",
           "type": "supergroup"
         },
         "date": 1554783715,
         "text": "Hello Game Over!"
       },
       "text": "@Go***bot",
       "entities": [{
         "offset": 0,
         "length": 10,
         "type": "mention"
       }]
     }
   }]
 }

这条消息的link是:

https://t.me/c/1241538300/130

如您所见,它将根据 聊天 ID

生成
 "chat": {
         "id": -1001241538300,
         "title": "Game Over Test Group",
         "type": "supergroup"
       },

-1001241538300 中删除 -100 然后你有 1241538300 并联系 /c/message_id 结束。

"date": 1576312634,
       "reply_to_message": {
         "message_id": 130,
         "from": {
           "id": 156878147,
           "is_bot": false,
           "first_name": "Carlos F",
           "username": "@Carlos****",
           "language_code": "en"
         },

你将拥有:

https://t.me/c/1241538300/130