使用电报中的内联按钮转移控制(机器人)
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是:
如您所见,它将根据 聊天 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"
},
你将拥有:
如果您在聊天中有机器人生成的内联按钮,则该内联按钮可用于将您带到机器人。
我的问题是 - 反过来可能吗?
机器人是否可以有一个内联按钮(当直接与其通信时)并且它可以将控制转移到用户和机器人都在场的组
考虑这种情况: 我有一个跟踪国家名称的机器人。当添加到组中时,它会检测国家名称并显示“查看有关国家的信息”。
当您点击该按钮时,机器人会带您与其聊天(更改窗口并将您移出),然后机器人会显示有关国家/地区的信息。
然后机器人有一个“返回或取消”内联按钮。
如果您单击该按钮,它应该会将您带回到您来自的原始组。那可能吗?
变化:
它能否自动将您带回原始组(没有内联按钮)但会根据您键入的某些文本说?
我得到的只是你想让你的用户回到他们推荐的地方吗?
例如,您的频道中有 "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是:
如您所见,它将根据 聊天 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"
},
你将拥有: