如何向Telegram发送消息,其中包含一个提示用户转发消息的按钮?

时间:2017-02-27 16:47:14

标签: telegram telegram-bot

许多Telegram机器人(例如@youtube)都有一个按钮,您可以点击它来转发机器人发送的消息。当用户点击此按钮时,Telegram会打开一个联系人列表,让用户选择将邮件转发给谁。

如何发送这样的按钮?我能找到的最接近的是forwardMessage,但是期望chat_id目标ID作为必需参数。但是在用户选择他们想要转发的人之前,我没有获得此目标ID。

1 个答案:

答案 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