2017-02-27 45 views
3

许多电报机器人(例如@youtube)都有一个按钮,您可以点击它来转发机器人发送的信息。当用户点击这个按钮时,Telegram打开一个联系人列表,让用户选择将消息转发给谁。如何向Telegram发送消息,其中包含一个提示用户转发消息的按钮?

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

回答

5

如果你想分享你的内容与特定的聊天记录,你有两个选择:

选项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