セミナー開催レポートブログ

Claude CodeをDiscordで使う設定|Botの作り方とつながらない時の確認

開催日
2026年5月19日(火)21:00–22:00
講師
KEITO
セミナー開催レポートブログ Claude Code|Discordからサムネイルを作成するスキル 講師KEITO 2026年5月19日開催

Discord にボットを作り、自分のパソコンの Claude Code とつなぐと、スマホの Discord から「資料を作って」「サムネイルを作って」と頼めるようになります。できた PDF や画像も、そのまま Discord で受け取れる仕組みです。用途ごとにチャンネルを分ければ、資料作り・リサーチ・WordPress の更新を部屋ごとに頼み分けることもできます。ただし接続の設定はつまずきやすく、手順どおりに進めても Discord のプラグインが無効のままで返事が来ないことがあります。動くのは、パソコンで Claude Code を --channels 付きで開いている間だけです。

2026年5月19日のセミナーでは、講師の KEITO が、配布したマニュアルに沿って Discord と Claude Code の接続を参加者と一緒に進めました。後半では、Luma のイベント用サムネイルを作るスキルを配り、Discord から頼んでサムネイルを作るところまで実演しています。

講師のDiscordサーバー。テスト用、セミナー作業、資料作り、リサーチ、ライティング、ワードプレスのチャンネルが並び、セミナー作業のチャンネルで「@クロ セミナーのサムネイル作って」と頼むと、ボットがタイトルや日時を聞き返している

今後のセミナー予定

Discord と Claude Code をつなぐと、何ができる?

講師は Discord に自分用のサーバーを作り、セミナー資料作り、リサーチ、ライティング、WordPress の更新と、用途ごとにチャンネル(部屋)を分けて使っています。部屋の中でボットに「資料を作って」と頼むと、自分のパソコンの Claude Code が作業し、できた資料が Discord に送り返されてくる仕組みです。

Discord はスマホでも開けるので、資料を PDF で出してもらえばスマホで確かめられます。パソコンの Discord ではダウンロードが要るようですが、スマホならプレビューで PDF をそのまま開けるそうです。電車の中で Discord から資料を作り進める、といった流れもできるとのことでした。

当日最初に見せたのは、ボットにセミナーのサムネイルを頼んだ例で、日付・時間・料金・セミナー名を返信すると、ボットが画像を作って Discord に貼ってくれました。スマホの音声入力で頼んでも、こうしたバナーが返ってきます。

Discordのチャンネルにボットが「サムネイルが完成しました!」と書き込み、3/31(火)21:00〜22:00のAI活用セミナーのサムネイル画像を貼っている

スキルを入れておけば、WordPress の更新も Discord から頼めます。画面に映ったのはテスト投稿の例で、ボットが投稿ID・タイトル・下書きの状態・カテゴリーを返していました。WordPress と Claude Code をつなぐ設定は、WordPress MCPとClaude Codeの接続方法|お知らせ投稿と画像設定までの回で扱っています。

ワードプレスのチャンネルで、ボットが「テスト投稿が完了しました!」と返し、投稿ID、タイトル、ステータス(下書き)、カテゴリーを知らせている

Claude のスマホアプリではなく Discord を使う理由も話していました。当日の講師の説明では、Claude のスマホアプリだと画像の送受信ができず、リンクでのやり取りになるため画像を確かめられません。Discord なら画像をそのまま受け取れるので、画像を作るスキルと組み合わせると便利だそうです。

どういう仕組みで動く?

Discord には、Discord の上で動くアプリ(ボット)を作る仕組みがあります。このボットと Claude Code をつなぐのが、Anthropic 公式の Discord プラグインです。

スマホやパソコンのDiscordで頼むと、Discordのボット、公式のDiscordプラグインを通って自分のパソコンのClaude Codeに届き、できたPDFや画像がDiscordに返る流れ。Claude Codeを--channels付きで開いている間だけ動く

ボットに届いたメッセージはプラグインを通って自分のパソコンの Claude Code に渡り、Claude Code の返事や作ったファイルは、同じ道をたどってボットから Discord に返ります。作業をするのはスマホではなく、自分のパソコンです。

Claude Code の公式ドキュメント[Channels]では、この仕組みを「チャンネル」と呼んでいます。2026年11月時点では研究プレビュー(試験提供)の機能で、メッセージが届くのは Claude Code のセッションを開いている間だけです。Team と Enterprise の組織では、管理者が有効にしないと使えません。

外出先から Discord で仕事を頼む運用は、Claude CodeとDiscordを連携|スマホからAIエージェントに仕事を頼むの回でも紹介しています。複数のエージェントの役割分担や、安全の考え方まで扱った回です。

始める前に、何を用意する?

用意するものは、Discord のアカウントと自分用のサーバー、Claude Code がインストール済みのパソコン、そして Bun(プラグインを動かすためのプログラム)です。

Discord のサーバーは、アプリの左側にある「サーバーを追加」から作れます。名前は何でも構いません。後でこのサーバーにボットを招待します。

Bun のインストールは、Mac ならターミナル、Windows なら PowerShell を開いて行います。マニュアルと公式の説明に載っているコマンドは curl -fsSL https://bun.sh/install | bash。入れ終わったらターミナルを開き直し、bun --version と打ってバージョンの数字が返れば準備完了で、講師の環境では 1.3.14 と返ってきました。

マニュアルの「必要なもの」と「Bunが入っていないとき」の説明の横で、ターミナルにbun --versionと打ち、1.3.14と返ってきた画面

準備ができたら、Discord 側と Claude Code 側で4つずつ設定します。

接続までの流れ。Discord側はアプリとボットを作る、トークンを取る、Message Content Intentをオンにする、自分のサーバーに招待する。Claude Code側はプラグインを入れる、トークンを設定する、--channels付きで開き直す、ペアリングする
  • Discord 側:アプリとボットを作る、トークンを取る、Message Content Intent をオンにする、自分のサーバーに招待する
  • Claude Code 側:プラグインを入れる、トークンを設定する、--channels 付きで開き直す、ペアリングする

チャンネルで話しかけるときは、このあとチャンネルごとの許可も要ります。

Discord 側のアプリとボットは、どう作る?

Discord Developer Portalを開き、Discord のアカウントでログインします。ここでの作業は3つです。

Discord側のアプリとボットの作り方。新しいアプリケーションを作る、Botでユーザー名を決める、トークンをリセットして控えるの3つ。トークンは作成時にしか表示されず、他人に見せない
  1. 新しいアプリケーションを作る:「アプリケーション」の画面で右上の「新しいアプリケーション」を押し、名前を決めて作成する
  2. Bot でユーザー名を決める:作ったアプリを開き、左のメニューの「Bot」でボットの名前を付ける
  3. トークンをリセットして控える:「Bot」の画面の「トークン」の欄で「トークンをリセット」を押し、表示された文字列をすぐにコピーする

当日は名前に「Claude」と入れて作成を押したところ、「アプリケーション名が無効です」と表示されました。講師は名前を変えて作り直しています。

トークンは、Discord の中でボットを動かすための鍵にあたる文字列です。

マニュアルのステップ2。BotタブのTokenセクションでReset Tokenを押し、表示されたトークンをすぐにコピーして安全な場所に保存する。トークンは作成時にしか表示されず、他人に見せないという注意書き

マニュアルの注意は2つありました。トークンは作成時にしか表示されず、閉じると二度と見られないこと。漏れるとボットを乗っ取られるので、他人に見せないこと。

コピーしたトークンは、メモ帳などに控えておきます。控え忘れても、リセットし直せば新しいトークンが出るので何度でもやり直せます。講師も当日トークンを変えたため、後で Claude Code に設定し直していました。

トークンのような秘密の情報の扱いは、Claude Codeのセキュリティ設定|自動承認と権限設計で起きた7つの事故と防ぎ方の回も参考になります。

ボットには、何を許可する?

許可は2か所で設定します。1か所目は「Bot」の画面を下にスクロールした「Privileged Gateway Intents」で、ここの「Message Content Intent」をオンにして「Save Changes」を押します。DM の本文をボットが読み取るための設定です。オフのままだと、ボットにメッセージが届いても中身が空っぽになり、何もできないとマニュアルにあります。

2か所目は、サーバーに招待するときに選ぶ「Botの権限」です。項目が多いので、講師は日本語の画面で1つずつ要る・要らないを説明していました。

ボットの権限。必ず入れるのはチャンネルを表示、メッセージを送る、リンクを埋め込み、ファイルを添付、メッセージ履歴を読むの5つ。入れると便利なのはリアクションを付ける、スレッドでメッセージを送る。公開スレッドとプライベートスレッドの作成はどちらでもよい
  • 必ず入れる:チャンネルを表示、メッセージを送る、リンクを埋め込み、ファイルを添付、メッセージ履歴を読む
  • 入れると便利:リアクションを付ける、スレッドでメッセージを送る
  • どちらでもよい:公開スレッドの作成、プライベートスレッドの作成

リンクの埋め込みはニュースの URL を、ファイルの添付は PDF を返してもらうのに使います。リアクションを許可すると Claude Code がメッセージにリアクションを付けてくれて、スレッドでの送信を許可するとスレッドでやり取りできるようになります。

マニュアルに載せたBotの権限の画面。メッセージを送る、公開スレッドを作成、リンクを埋め込み、ファイルを添付、メッセージ履歴を読む、チャンネルを表示にチェックが入り、赤い矢印で示されている

自分のサーバーへは、どう招待する?

Discord では、ボットと同じサーバーにいないと DM を送れません(マニュアルにある Discord の仕様)。そこで、最初に作った自分用のサーバーにボットを招待します。

  1. Developer Portal の左メニュー「OAuth2」を開き、下の方の「URLジェネレーター」でスコープの「bot」にチェックを入れる
  2. 前の節で決めたボットの権限にチェックを入れる
  3. 連携タイプを「ギルドのインストール」にする
  4. 下に出る「生成されたURL」をコピーして、ブラウザで開く
  5. 招待先のサーバーを選び、「認証」を押す

URL はチェックを入れている間に自動でできあがります。ブラウザで開くと、ボットがアカウントへのアクセスを求める画面になり、許可する権限の一覧を確かめてから認証します。

ボットのクロがDiscordアカウントへのアクセスを求める画面。チャンネルを見る、メッセージを送信、スレッドでメッセージを送信、公開スレッドの作成、埋め込みリンク、ファイルを添付、メッセージ履歴を読む、リアクションの追加にチェックが入り、下に認証のボタンがある

認証が済めば、ボットもサーバーのメンバーの一人です。ここまでは Discord の中だけの作業で、Claude Code はまだ関係ありません。

Claude Code 側は、どうつなぐ?

Claude Code 側の設定は、ターミナルで動かす Claude Code(CLI)で進めます。講師は最初、分かりやすくするためにデスクトップ版のアプリで試しました。ところが /plugin のコマンドを送ると「/plugin isn't available in this environment.」と返ってきて、プラグインを入れられませんでした。

デスクトップ版のClaude Codeで「/plugin install discord@claude-plugins-official これをインストールして」と送ると、「/plugin isn't available in this environment.」と返ってきた画面

ターミナルで Claude Code を開いたら、打つコマンドは3つです。

Claude Code側の設定。プラグインを入れる(/plugin install discord@claude-plugins-official)、トークンを設定する(/discord:configureのあとにトークンを貼る)、開き直す(claude --channels plugin:discord@claude-plugins-officialで開く)の3つ
  1. プラグインを入れる:/plugin install discord@claude-plugins-official
  2. トークンを設定する:/discord:configure のあとに、控えておいたトークンを貼って送る。トークンは ~/.claude/channels/discord/.env に保存される
  3. 開き直す:Claude Code を一度終了し、claude --channels plugin:discord@claude-plugins-official で開く

トークンを貼るときは、前後に空白が入らないように気をつけます。設定が終わると「リロードしてください」などと表示されることがありますが、講師は気にせず一度閉じて開き直すのを勧めていました。

開き直したときに「Listening for channel messages from: plugin:discord@claude-plugins-official」と赤い文字が出れば接続成功です。いつもどおり claude だけで開くとボットは動きません。マニュアルにも「必ず --channels フラグを付ける」とありました。

マニュアルのステップ5から7。/plugin install discord@claude-plugins-official、/discord:configureにトークンを貼り付け、Claude Codeを終了してclaude --channels plugin:discord@claude-plugins-officialで再起動し、「Listening for channel messages from」と出れば接続成功

プラグインの入れ方はほかにもあります。/plugin で一覧を開いて Discord のプラグインを探す方法と、公式の GitHub のページの URL を Claude Code に渡して「インストールしといてください」と頼む方法です。講師は、GitHub のページを渡す方法が一番いいかもしれない、と話していました。手順は Anthropic 公式のプラグイン集にある[Discord プラグインの README]と同じ流れです(2026年11月時点)。

公式プラグイン集claude-plugins-officialにあるDiscordプラグインのREADME(Bunが必要、Discordのアプリとボットの作り方)と、そのページのURLをClaude Codeに貼ったターミナル

返事が来ないときは、どこを確かめる?

当日は講師の環境でも、接続できたように見えるのに、ボットに DM を送っても返事が来ない状態になりました。Discord ではボットがオンライン(緑)にならず、直るまでに30分近くかかっています。

講師はプラグインを入れ直したり、Claude Code に「Discordアプリがオンラインになりません」と状況を伝えて原因を調べてもらったりしました。最後の決め手は /mcp の画面です。開いてみると、Discord のプラグイン(plugin:discord:discord)が「disabled」、つまり無効のままになっていました。

Claude Codeの/mcpの画面。MCPサーバーの一覧の中で、plugin:discord:discordだけがdisabledと表示されている

ここを有効にして開き直すと、ボットが緑になり、DM にペアリングコードが返ってきました。講師の振り返りでは、確かめる順番は次の4つです。

返事が来ないときの確認。/mcpでDiscordにチェックを入れる、/pluginでDiscordプラグインにチェックを入れる、一度抜けて--channels付きで開き直す、緑になったらDMを送るの4つ
  1. /mcp で Discord にチェックを入れる
  2. /plugin で Discord プラグインにチェックを入れる
  3. 一度抜けて、--channels 付きで開き直す
  4. 緑になったら DM を送る

本来はプラグインを入れれば、プラグインと MCP の両方が有効になるはずです。手順どおりでもそうならないことがあるので、つながっているかどうかを自分の目で確かめる必要がある、というのが当日の結論でした。こうした詰まりはよくあるので、Claude Code と一緒に解決していくのがよいそうです。

マニュアルの「トラブルシューティング」には、ほかの確認先も載っていました。

  • ボットが DM に反応しない:--channels 付きで開いたか、/discord:configure のあとに開き直したか、ボットと自分が同じサーバーにいるか
  • メッセージの本文が空っぽで届く:Message Content Intent がオフになっている
  • ペアリングコードが返ってこない:DM のポリシーが allowlist か disabled になっている。/discord:access policy pairing で戻す

ペアリングは、どう済ませる?

ボットが緑になったら、Discord でボットに DM を送ります。中身は「こんにちは」など何でも構いません。ボットからは「Pairing required — run in Claude Code: /discord:access pair」に続けて、6桁のコードが返ってきます。このコマンドを、そのまま Claude Code に貼って送る流れです。

ボットへのDMで「こんにちは」と送ると、ボットが「Pairing required — run in Claude Code: /discord:access pair 58d456」と返し、Claude Codeで実行したあとに「Paired! Say hi to Claude.」と表示された画面

「Paired! Say hi to Claude.」と出れば完了で、これ以降は自分の DM が Claude Code に届きます。

ペアリングは、誰がボットに DM できるかを決めるための手続きです。ボットに誰でも DM できると荒らされるので、最初に「自分しか DM できない」状態にする、とマニュアルにあります。ペアリングのあとに /discord:access policy allowlist へ切り替え、他人がペアリングコードを受け取れないようにする手順も、推奨として載っていました。

  • pairing(初期値):未登録の人にもペアリングコードを返す
  • allowlist(推奨):登録済みの人以外は完全に無視する
  • disabled:DM をすべて無視する

チャンネルで話しかけるには、何が要る?

DM で返事が来るようになっても、サーバーのチャンネルでボットにメンションして話しかけると、まだ返事が来ません。チャンネルごとに、ボットが動いてよいかの許可が要るためです。

チャンネルの許可。開発者モードをオンにする、チャンネルIDをコピーする、Claude Codeに許可を頼む、メンションして話しかけるの4つ。チャンネルを増やしたら、そのたびにIDを許可する
  1. 開発者モードをオンにする:左下の歯車(ユーザー設定)を開き、一番下の「開発者」で「開発者モード」をオンにする
  2. チャンネルIDをコピーする:チャンネル名を右クリックして「チャンネルIDをコピー」を選ぶ
  3. Claude Code に許可を頼む:コピーした ID を貼り、「このチャンネルを許可して」と送る
  4. メンションして話しかける:許可したチャンネルで、ボットにメンションを付けて送る
Discordでチャンネル名を右クリックしたメニュー。一番下に「チャンネルIDをコピー」がある

Claude Code がチャンネルを許可リストに加えると、テスト用のチャンネルでもボットが「チャンネル接続OKです」と返事をするようになりました。このとき Claude Code は、メンションされたときだけ反応し、チャンネル内の全員から受け付ける設定にしたと説明しています。メンションを不要にしたいときや、特定の人だけに絞りたいときは教えてほしい、とも添えていました。

左はテスト用のチャンネルでボットが「こんにちは、KEITOさん。チャンネル接続OKです。」と返事をした画面。右はClaude Codeがチャンネルを許可リストに追加し、メンションされたときだけ反応、チャンネル内の全員から受け付けると説明している画面

チャンネルを増やしたときは、そのチャンネルの ID をコピーして同じように許可を頼みます。当日は「サムネイル作業用」のチャンネルを新しく作り、同じ手順で使えるようにしていました。講師も「結構大変」と認める手順です。講師はお客さんの Discord のセットアップも Claude Code と相談しながら何度か手がけていて、AI コンサルタントのような動きをしている人にとっては、この作業自体が仕事になると話していました。

配られたサムネイルのスキルは、どう使う?

接続のあと、講師は Luma のイベントページ用にサムネイル画像を作るスキル(フォルダ名は luma-event)を参加者に配りました。中身は assets・references・runtime の3つのフォルダと SKILL.md です。

luma-eventスキルのフォルダ。assets、references、runtimeのフォルダとSKILL.mdが入っている

入れ方は、受け取ったファイルを Claude Code に貼り付けて「このスキルをスキルフォルダの中に入れといて」と頼むだけです。スキルのフォルダに入れば / から呼び出せるようになり、Discord からも使えます。スキルの作り方そのものは、Claude・Codexのスキルの作り方|NotionマニュアルとGmail通知の自動化の回で詳しく扱っています。

当日は新しく作った「サムネイル作業用」のチャンネルで、ボットに「Lumaスキルを使ってサンプルでサムネイル1枚作ってください」と送りました。ボットは「サンプルのLumaサムネを1枚作成しました(AIセミナー想定・講師写真入り)」と返し、保存先と一緒に画像を Discord に貼っています。

サムネイル作業用のチャンネルで「Lumaスキルを使ってサンプルでサムネイル1枚作ってください」と頼むと、ボットが5/24(日)20:30〜22:00の「AIで仕事を加速する」というサンプルのサムネイルを返した画面

同じことはスマホの Discord からも頼めます。スマホで確かめながら作れるのが大きい、と講師は話していました。

なぜ毎回同じ形のサムネイルになる?

このスキルは、あえて画像生成 AI に全部を描かせない作り方をしています。講師が説明していた工夫は3つあります。

毎回同じ形になる3つの工夫。背景は固定の画像(背景の画像と顔写真をアセットとして入れ、見本になるサンプルの画像も添える)、文字は画像生成しない(SVGで決まった場所にテキストとして置く)、配置はJSONで固定(タイトル、サブタイトル、キャッチコピー、3つのポイント、顔写真、日付)
  • 背景は固定の画像:背景の画像と顔写真をアセットとして入れ、入れ方の見本になるサンプルの画像も添えておく
  • 文字は画像生成しない:タイトルなどの文字は、SVG で決まった場所にテキストとして置く
  • 配置は JSON で固定:タイトル、サブタイトル、キャッチコピー、3つのポイント、顔写真、日付を決まった位置に入れる

画面に映ったスクリプト(create-thumbnail.js)の冒頭には「Lumaイベントサムネイル生成(SVG + sharp)」とあります。画像の大きさは 1080×1080 の正方形です。Discord から頼んだときも、Claude Code はまず設定ファイル(config.json)を書いていました。中身は背景画像・顔写真・ラベル・タイトル・サブタイトル・キャッチコピー・特徴3つ・日付・時間で、これをこのスクリプトで画像にしています。

サムネイルを作るスクリプトcreate-thumbnail.js。冒頭にLumaイベントサムネイル生成(SVG + sharp)とあり、幅と高さが1080、フォントや色の指定、SVGで文字を置く処理が続く

スクリプト自体も、講師が Claude Code に作ってもらったものです。色を変えたい、文字をもう少し大きくしたい、レイアウトを少しだけ変えたい、といったときは Claude Code にそう伝えれば、同じ形式のまま再現性高く作れます。講師がおすすめしていたやり方です。

まとめ

  • Discord のボットと自分のパソコンの Claude Code を公式の Discord プラグインでつなぐと、スマホの Discord から頼みごとができ、PDF や画像も Discord で受け取れる
  • Discord 側はアプリとボットを作り、トークン、Message Content Intent、権限を設定して自分のサーバーに招待する
  • Claude Code 側はターミナルでプラグインを入れ、トークンを設定し、--channels 付きで開き直す。当日はデスクトップ版ではプラグインを入れられなかった
  • 返事が来ないときは、/mcp と /plugin の両方で Discord が有効かを確かめてから開き直す
  • DM はペアリング、チャンネルはチャンネルIDの許可が要る
  • 配られたサムネイルのスキルは、背景を固定の画像にし、文字は SVG、配置は JSON で固定しているので、毎回同じ形で作れる

よくある質問

デスクトップ版の Claude Code でも設定できますか?

当日はできませんでした。デスクトップ版で /plugin を送ると「/plugin isn't available in this environment.」と表示され、プラグインを入れられませんでした。講師はターミナルで動かす Claude Code(CLI)に切り替えて進めています。

いつもどおり claude で開いても、Discord から使えますか?

使えません。マニュアルにも、通常の claude コマンドでは Discord のボットは動かないとあります。毎回 claude --channels plugin:discord@claude-plugins-official で開きます。公式ドキュメントによると、メッセージが届くのはセッションを開いている間だけです(2026年11月時点)。

ボットのトークンをなくしたらどうなりますか?

Developer Portal の「Bot」の画面で「トークンをリセット」を押せば新しいトークンを出し直せるので、/discord:configure で Claude Code にも設定し直します。表示されるのは作成時だけなので、出たらすぐに控えておきます。

DM しても返事が来ないときは?

/mcp と /plugin の両方で Discord が有効になっているかを確かめ、Claude Code を --channels 付きで開き直します(当日の講師の環境では、/mcp の Discord のプラグインが無効になっていたのが原因でした)。詰まったときは、状況をそのまま Claude Code に伝えて一緒に調べるのがよいそうです。

チャンネルを増やしたら、何をすればいいですか?

新しいチャンネルの ID をコピーして、Claude Code に「このチャンネルを許可して」と頼みます。許可はチャンネルごとです。増やすたびに、ID をコピーして許可を頼む手順を繰り返します。ID のコピーには、Discord の開発者モードをオンにしておく必要があります。

配られたスキルは、どこに入れればいいですか?

Claude Code にスキルのファイルを渡し、.claude の中のスキルフォルダに入れるよう頼めば入れてくれます。質疑応答で出た質問で、講師はそう答えていました。スキルのフォルダに入れば / から呼び出せ、Discord からも使えます。

スマホからでも使えますか?

使えます。スマホの Discord アプリから、音声入力で頼むこともできます。ただし作業をするのは自分のパソコンなので、パソコンで Claude Code を --channels 付きで開いておくのが前提です。

アーカイブ動画はProcevoで見られます

Procevoでは、毎週1回、専門家によるセミナーを開いています

  • 毎週1回のセミナー
  • 動画は見放題
  • いつでも参加できる
  • いつでも退会できる
  • 入会金0円
  • オフラインイベントは無料
  • オンライン交流会
  • 情報の共有

今後のセミナー予定

その他のおすすめアーカイブ

セミナー開催レポートブログ一覧へ