如何向 Telegram 发送包含提示用户转发消息的按钮的消息?
How do I send a message to Telegram that includes a button that prompts the user to forward the message?
许多 Telegram 机器人(例如 @youtube)都有一个按钮,您可以单击该按钮来转发机器人发送的消息。当用户单击此按钮时,Telegram 会打开一个联系人列表,让用户选择将消息转发给谁。
如何发送这样的按钮?我能找到的最接近的东西是 forwardMessage 但它期望 chat_id
目标 ID 作为必需参数。但是在用户选择他们想要转发给谁之前,我不会有这个目标 ID。
如果您想将您的内容分享到特定聊天,您有 2 个选择:
选项 1
如果您的机器人启用了 inline_mode
,您可以通过在所选聊天中打开 inline_query
的按钮共享内容。基本上,这就是@youtube bot 的工作方式。要使用此方法,您需要发送一个带有 switch_inline_query
作为字段 (documentation) 的内联按钮。
Javascript中的示例:
bot.sendMessage(msg.chat.id, 'Share:', {
reply_markup: {
inline_keyboard: [[{
text: 'Share with your friends',
switch_inline_query: 'share'
}]]
}
})
这与我在我的机器人 @livecoinbot 中使用的示例相同,设置比特币地址并使用分享按钮。
选项 2
您可以创建一个普通的内联按钮,或者只是在普通消息中发送 link,这将提示电报客户端共享内容。以下是您的操作方法:
https://t.me/share/url?url=[url-to-send-here]&text=[text]
示例:Click here
许多 Telegram 机器人(例如 @youtube)都有一个按钮,您可以单击该按钮来转发机器人发送的消息。当用户单击此按钮时,Telegram 会打开一个联系人列表,让用户选择将消息转发给谁。
如何发送这样的按钮?我能找到的最接近的东西是 forwardMessage 但它期望 chat_id
目标 ID 作为必需参数。但是在用户选择他们想要转发给谁之前,我不会有这个目标 ID。
如果您想将您的内容分享到特定聊天,您有 2 个选择:
选项 1
如果您的机器人启用了 inline_mode
,您可以通过在所选聊天中打开 inline_query
的按钮共享内容。基本上,这就是@youtube bot 的工作方式。要使用此方法,您需要发送一个带有 switch_inline_query
作为字段 (documentation) 的内联按钮。
Javascript中的示例:
bot.sendMessage(msg.chat.id, 'Share:', {
reply_markup: {
inline_keyboard: [[{
text: 'Share with your friends',
switch_inline_query: 'share'
}]]
}
})
这与我在我的机器人 @livecoinbot 中使用的示例相同,设置比特币地址并使用分享按钮。
选项 2
您可以创建一个普通的内联按钮,或者只是在普通消息中发送 link,这将提示电报客户端共享内容。以下是您的操作方法:
https://t.me/share/url?url=[url-to-send-here]&text=[text]
示例:Click here