Discord
自分の Discord ボットを MeDo アプリに接続すると、注文・予約・フォームの通知をチャンネルに投稿し、チャンネルの最新メッセージを表示し、ボットが参加しているサーバーとチャンネルを一覧できます。
Discord は、自分の Discord ボットで動くコネクタです。Discord Developer Portal でボットを作成してサーバーに追加し、そのトークンを MeDo に保存します。アプリのサーバー関数はそのトークンで Discord を呼び出し、チャンネルへのメッセージ投稿、チャンネルの最近のメッセージの読み取り、ボットが参加しているサーバーとチャンネルの一覧を行います。メッセージはボットの名前で表示されます。ボットが見えるのは追加したサーバーだけで、投稿できるのは Send Messages 権限があるチャンネルだけです。
作れるもの
- 注文・予約の通知。 新しい注文や予約が入るたびに、注文番号・商品・合計、または予約内容をチームのチャンネルに投稿します。
- フォームからチャンネルへの引き継ぎ。 お問い合わせやサポートのフォームを 1 件ずつチャンネルに送り、チームが対応します。
- お知らせボード。 お知らせチャンネルの最新メッセージを公開ページに表示します。
- 非公開のリリースノート ツール。 自分のサインインの内側で、更新内容を書いてプレビューし、選んだチャンネルに投稿します。
ボット自身のメッセージの編集、リアクション、ピン留め、スレッド作成、チャンネル作成などのボット操作は、依頼すれば作成できます。一部は追加のボット権限が必要です。制限を参照してください。
ビルド例
次のいずれかをプロンプト入力欄にコピーしてください。最初のものが、役に立つ最小の出発点です。
準備と接続
アプリの投稿先サーバーを管理できる Discord アカウントが必要です。設定は数分で、ボットごとに 1 回だけです。
- Discord Developer Portal を開き、New Application をクリックして名前を付けます。この名前は、アプリが投稿するすべてのメッセージでサーバーのメンバーに表示されます。
- Bot を開いて Reset Token をクリックし、トークンをコピーします。Discord はトークンを 1 回しか表示しません。トークンはパスワードと同じように扱ってください。持っている人は誰でもボットとして投稿できます。アプリでチャンネルのメッセージを表示・読み取りする場合は、同じページで Message Content Intent をオンにして保存します。オフのままだと、Discord はメンバーのメッセージを本文が空の状態で返します。
- OAuth2 → URL Generator を開き、bot スコープと、View Channels、Send Messages、Read Message History の権限を選びます。生成されたリンクを開いて、ボットをサーバーに追加します。アプリで使うサーバーごとに繰り返します。
- MeDo で、Discord の設定にトークンを保存します。設定カードは通常 MeDo の返信のすぐ下に表示されます。エディター左側のサイドバーで Skill(スキル) タブを開き、Discord を探してそこから設定することもできます。
MeDo は保存前に Discord でトークンを確認します。確認に失敗した場合は、Bot ページで新しいトークンをコピーして保存し直してください。トークンはこのアプリ専用に保存され、再表示時はマスクされます。ページの内容に貼り付けたり、MeDo にコードへ書き込むよう頼んだりしないでください。1 つのアプリで使うボットは 1 つです。ボットを切り替えるには、別のボットのトークンを同じ場所に保存すると古いトークンが置き換わります。トークンを保存する前に作り始めてもかまいません。保存されるまで、アプリは設定の案内を表示します。
アプリでの使い方
- アプリはあなたのボットとして、あなたのサーバーに投稿します。 訪問者が Discord にサインインしたり、チャンネルを選んだりすることはありません。チャンネルはアプリの関数に固定するか、アプリの管理者が設定画面で選びます。
- @everyone と @here は誰にも通知されません。 訪問者の入力から作られたメッセージで、サーバー全体に通知が飛ぶことはありません。特定のユーザーやロールへのメンションは、アプリ自身が作る場合に限られます。
- 非公開アプリは管理者専用です。 非公開・社内・個人用のアプリでは、MeDo がサインインを追加し、Discord の機能を使えるのはアプリの管理者だけになります。後から登録したアカウントには利用権限がありません。
- 送信内容はアプリに残ります。 公開フォームは、予約やメッセージをまずアプリのデータベースに保存し、その後に要約を投稿します。訪問者は送信はできますが、他人の送信内容は読めません。
- 各レコードの投稿は 1 回だけです。 アプリは Discord に送ったレコードを記録するため、リクエストが再試行されても二重投稿されません。
制限とトラブルシューティング
Discord が設定されていないと表示される。 Discord の設定にボット トークンを保存し、ページを再読み込みしてください。
トークンが無効だと表示される。 トークンがリセットされたか、コピーが不完全です。Bot ページでもう一度リセットし、新しいトークンを保存してください。
ボットに権限がないと表示される。 ボットをサーバーに追加するか、そのチャンネルで不足している権限を付与してから、再試行してください。
メッセージの本文が空で表示される。 Bot ページで Message Content Intent をオンにして保存してください。
サーバーやチャンネルが一覧に出ない。 ボットがまだサーバーに追加されていません。手順 3 の招待リンクを開いて追加してください。
関連ページ
- コネクタ カタログ:ほかのコネクタとその用途。
- キーとデータの安全性:ボット トークンなどアプリのシークレットの保存方法。