【问题标题】:How do I send a message to Telegram that includes a button that prompts the user to forward the message?如何向 Telegram 发送包含提示用户转发消息的按钮的消息?
【发布时间】:2017-07-18 09:18:53
【问题描述】:

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

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

【问题讨论】:

    标签: telegram telegram-bot


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 2018-07-25
      • 2018-02-13
      • 2021-03-07
      • 1970-01-01
      • 1970-01-01
      • 2021-12-09
      • 2014-12-28
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多