web-dev-qa-db-ja.com

ユーザーにメッセージの転送を促すボタンを含むメッセージをTelegramに送信するにはどうすればよいですか?

多くのTelegramボット(@youtubeなど)には、ボットから送信されたメッセージを転送するためのボタンがあります。ユーザーがこのボタンをクリックすると、Telegramは連絡先リストを開き、ユーザーがメッセージの転送先を選択できるようにします。

このようなボタンを送信するにはどうすればよいですか?私が見つけることができる最も近いものは forwardMessage ですが、これはchat_idターゲットIDを必須パラメーターとして想定しています。ただし、ユーザーが転送先を選択するまで、このターゲットIDは取得できません。

6
Thomas Johnson

特定のチャットでコンテンツを共有する場合は、2つのオプションがあります。

オプション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]

例: ここをクリック

10
Mohammed Sohail