Discord Bot Portal JP
開発ガイド 読了目安 約10分 更新 2026.07.03

AI を利用した Discord Bot 開発

AI コーディング支援を利用した Bot 開発の進め方と、LLM API を組み込んだ会話 Bot を作る際の設計・コスト・安全性の考え方を整理します。

この記事で分かること

  • AI コーディング支援を Bot 開発で活かすコツ
  • AI が生成した古いコードを見抜く観点
  • LLM API を組み込む場合の設計ポイント
  • コスト・レート制限・安全性の考え方

「AI を利用した Bot 開発」には2つの意味があります。AI に開発を手伝ってもらう(コーディング支援)と、AI を機能として組み込む(会話 Bot など)です。この記事では両方を扱います。

AI にコーディングを手伝ってもらう

有効な使い方

AI コーディング支援(チャット型 AI やエディタ組み込み型)は Bot 開発と相性が良く、特に次の場面で有効です。

  • 最小構成のコードの雛形を作ってもらう
  • エラー全文を貼って原因の見当をつけてもらう
  • 書いたコードの改善点・セキュリティ上の問題を指摘してもらう
  • 公式ドキュメントの英語を読み解く補助

注意すべき点

  • 古いコードが出てくる: AI の学習データには過去のバージョンのコードが含まれます。discord.py の v1 系の書き方や、廃止された API が混ざることがあります。動かない・警告が出る場合は、公式ドキュメントの現行版と突き合わせます(古い記事・バージョン差FAQの観点がそのまま使えます)
  • もっともらしい誤りがある: 存在しないメソッドやイベント名を出すことがあります。「AI が言っていた」ではなく公式ドキュメントを一次情報にします
  • 秘密情報を貼らない: エラーログや設定を AI に貼る際、Token・パスワード・個人情報を含めないようにします

確認ポイント

  • 生成されたコードの各行が何をしているか説明できる
  • ライブラリの現行バージョンで動くことを確認した
  • Token などの秘密情報が会話に含まれていない

AI を Bot に組み込む

全体の構成

LLM(大規模言語モデル)API を利用した会話 Bot の基本形は次の通りです。

  1. Discord でメッセージやコマンドを受け取る
  2. 必要な文脈(直近の会話など)を添えて LLM API へリクエストする
  3. 応答を Discord のメッセージとして返す

設計のポイント

  • 応答時間: LLM の応答には時間がかかります。スラッシュコマンドなら defer(応答の保留)を使い、応答期限切れを避けます(Interaction応答・defer FAQ)
  • 反応する範囲を絞る: 全メッセージに反応する設計は、コストもレート制限も事故率も跳ね上がります。メンションされた時・特定チャンネル・特定コマンドに限定するのが基本です
  • 文脈の管理: 会話の続きに応答するには、直近のやり取りを保存して API に渡す必要があります。どこまで(件数・期間)保持するかを決めます
  • メッセージの長さ制限: Discord のメッセージには文字数上限があります。長い応答は分割や Embed の利用を検討します

コストと安全性

  • API 利用料: LLM API は従量課金が基本です。1日あたりの利用上限をコード側で設け、想定外の請求を防ぎます
  • レート制限: Discord 側と AI サービス側の両方にレート制限があります。連投への応答制限(cooldown)を入れます
  • 入力の扱い: ユーザーの入力をそのまま API へ渡すと、不適切な生成を誘導される可能性があります。システムプロンプトで役割を固定し、AI サービス側の安全機能・利用規約を確認します
  • 個人情報: ユーザーの発言を外部 API に送ることになります。サーバーのメンバーに Bot の仕組みを説明できる状態にしておくのが誠実です

⚠️ AI の応答をそのまま「管理操作」(BAN、ロール付与など)に接続する設計は避けてください。AI の判断ミスがそのまま権限事故になります。管理操作は必ず人間の確認を挟みます。

確認ポイント

  • API キーを環境変数で管理している(Token と同じ扱い)
  • 利用上限・cooldown を実装した
  • 反応する範囲(チャンネル・条件)を限定した
  • AI サービスの利用規約・データの扱いを確認した

一次情報(公式ドキュメント)