多くのTelegramボット(@youtubeなど)には、ボットから送信されたメッセージを転送するためのボタンがあります。ユーザーがこのボタンをクリックすると、Telegramは連絡先リストを開き、ユーザーがメッセージの転送先を選択できるようにします。
このようなボタンを送信するにはどうすればよいですか?私が見つけることができる最も近いものは forwardMessage ですが、これはchat_id
ターゲットIDを必須パラメーターとして想定しています。ただし、ユーザーが転送先を選択するまで、このターゲットIDは取得できません。
特定のチャットでコンテンツを共有する場合は、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]
例: ここをクリック