2017-02-27 915 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