チャネル: Telegram、WhatsApp、VK
GetMyBot のボットは、複数のメッセンジャー — Telegram、WhatsApp、VK — で同時に動作できます。挙動(リアクション、条件、アクション)は一度だけ組み立て、プラットフォームがイベントの発生元となったチャネルへそれを配信します。こうして、1つのコンストラクターがすべてのチャネルを担当し、チャネルごとに別々に用意する必要はありません。
チャネルとは
チャネルとは、接続された配信先のことです。具体的には特定の Telegram ボット、WhatsApp Business の番号、または VK のコミュニティです。1つの GetMyBot ボットは複数のチャネルを持てます。リアクションは共通です。購読者が WhatsApp に書き込むと、そのイベントは Telegram と同じリアクションで処理され、応答は WhatsApp へ返されます。
チャネルごとに、対応するメッセンジャー機能(ボタン、編集、テンプレートなど)のセットは異なります。コンストラクターはこれを考慮し、そのチャネルで利用できないアクションは提案されないか、最も近い代替へ縮退します。
基本チャネル(primary_channel)
各ボットには 基本チャネル(primary_channel)があります。これはボットが第一に紐づく配信先です。通常は Telegram ですが、Telegram をまったく使わずに WhatsApp ボット や VK ボット としてボットを作成することもできます。基本チャネルは作成時に決まり、ボット一覧に表示されます。その他のチャネルは後からボットに追加します。
チャネルの機能マトリクス
以下は、各チャネルが対応するメッセンジャー機能です。最新のマトリクスは API が機械可読な形で返します: GET /api/channels/capabilities。
Telegram — 全機能を備えた基準チャネルです: inline ボタンと reply キーボード、callback(ボタン押下 → リアクション)、絵文字リアクション、ディープリンク /start、メッセージの編集・削除・転送、トリガーとしての reply、参加者イベント、権限とモデレーション。テキスト書式は Plain / HTML / Markdown。テンプレート、リスト、カルーセル、セッションウィンドウはありません(Telegram では不要です)。
WhatsApp(WhatsApp Cloud API 経由)— 独自の特性があります: inline ボタン、callback、絵文字リアクション、ディープリンク /start、メッセージテンプレート、リスト(interactive list)、24時間セッションウィンドウ。書式は Plain / Markdown。reply キーボード、メッセージの編集・削除・転送、トリガーとしての reply、参加者イベント、権限/モデレーション、カルーセルには対応していません。詳しくは WhatsApp のページをご覧ください。
VK — メッセージと添付、inline ボタンと reply キーボード、callback、絵文字リアクション、ディープリンク /start、メッセージの編集と削除、転送、参加者イベント、バン/バン解除。書式はプレーンテキストのみ(HTML/Markdown はレンダリング時に除去されます)。WhatsApp テンプレート、リスト、カルーセル、セッションウィンドウは VK にはありません。
全チャネル共通: inline ボタン、callback、絵文字リアクション、ディープリンク /start。カルーセルは現時点でどのチャネルも未対応です。
チャネルの接続方法
チャネルは ボット ページ(/app/bots)で追加します。
- ボット を開き、対象のボットを探します。
- ボットのカードで 「チャネルを追加」 をクリックします。
- プラットフォーム(Telegram、WhatsApp、VK)を選びます。
- チャネルの認証情報を入力します(Telegram はトークン、WhatsApp は Meta の認証情報一式、VK はコミュニティの認証情報)。
- 「検証」 をクリックします — プラットフォームがメッセンジャー側で認証情報を確認します。
- 「接続」 をクリックします。
WhatsApp と VK では、接続後にチャネルへ Webhook アドレス(🔗 アイコン)が表示されます。入力イベントがボットに届くよう、このアドレスをプラットフォーム側(WhatsApp なら Meta アプリ、VK ならコミュニティ設定)に登録する必要があります。WhatsApp での手順は WhatsApp → Webhook の設定 をご覧ください。