许多Telegram机器人(例如@youtube)都有一个按钮,您可以点击它来转发机器人发送的消息。当用户点击此按钮时,Telegram会打开一个联系人列表,让用户选择将邮件转发给谁。
如何发送这样的按钮?我能找到的最接近的是forwardMessage,但是期望chat_id
目标ID作为必需参数。但是在用户选择他们想要转发的人之前,我没有获得此目标ID。
答案 0 :(得分:8)
如果您想将内容分享给特定的聊天内容,您有两种选择:
选项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
您可以创建普通的内联按钮,或者只是简单地在正常消息中发送链接,这将提示电报客户端共享内容。这是你如何做到的:
https://t.me/share/url?url=[url-to-send-here]&text=[text]
示例:Click here