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

Tho*_*son 5 telegram telegram-bot

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

我该如何发送这样的按钮?我能找到的最接近的东西是forwardMessage,但是它希望将chat_id目标ID作为必需参数.但是,在用户选择要转发的人之前,我不会拥有此目标ID.

Moh*_*ail 9

如果您想将内容分享到特定的聊天内容,您有两种选择:

选项1

如果您的机器人已inline_mode启用,您可以通过inline_query在所选聊天中打开的按钮来共享内容.基本上,这就是@youtube bot的工作原理.要使用此方法,您需要发送带有switch_inline_query字段的内联按钮(文档).

Javascript中的示例:

bot.sendMessage(msg.chat.id, 'Share:', {
    reply_markup: {
        inline_keyboard: [[{
            text: 'Share with your friends',
            switch_inline_query: 'share'
        }]]
    }
})
Run Code Online (Sandbox Code Playgroud)

这是我在我的机器人@livecoinbot中使用的相同示例,设置比特币地址并使用共享按钮.

选项2

您可以创建普通的内联按钮,或者只是在正常消息中发送链接,这将提示电报客户端共享内容.这是你如何做到的:

https://t.me/share/url?url=[url-to-send-here]&text=[text]

示例:单击此处