Discord Bot Portal JP
逆引き 読了目安 約35分 更新 2026.07.03

逆引き:discord.js・他ライブラリ・古い記事

discord.js、その他ライブラリや言語、古い記事と現在のバージョン差で起きる問題を整理します。

この記事で分かること

  • Node.jsとdiscord.jsの版確認
  • GatewayIntentBitsとpartials
  • REST登録とinteractionCreate
  • 音声/opus/buildエラーの切り分け
  • Discord API共通仕様から見る
  • ライブラリ固有の版差

コミュニティの相談ログを匿名化・一般化し、discord.js・他ライブラリ・古い記事の読み替えを整理した逆引きです。

discord.js 実装相談

Node.jsとpackage.json

実行環境と依存関係を先に確認します。

版を確認する

Node.jsとdiscord.jsのメジャーバージョンが古い記事と違うと、クラス名やimport、Intent指定が変わります。

依存関係

package.jsonがある場所でinstallしたか、lockfile、start script、dev/build scriptを確認します。

確認ポイント

  • node -v
  • npm ls discord.js
  • package.json
  • 起動コマンド

参考(公式ドキュメント)

GatewayIntentBitsとcache

Intentとpartials、cache前提を分けます。

Intent指定

メッセージ本文、メンバー、リアクションなどはClient作成時のintentsやpartialsに影響されます。

cache前提

取得済みでないMember、Message、Reactionを前提にしないよう、必要ならfetchします。

参考(公式ドキュメント)

REST登録とinteractionCreate

スラッシュコマンド登録と実行処理を分けます。

登録と処理は別

commandsのREST登録が成功しても、interactionCreateの分岐やreplyが正しいとは限りません。

guild/global

guild commandとglobal commandでは反映時間や確認方法が違います。開発中は対象guildで確認します。

参考(公式ドキュメント)

音声/opus/buildエラー

音声系依存関係とビルド環境を分けます。

レイヤーを分ける

discord.js本体、音声パッケージ、opus、ffmpeg、外部ダウンロード処理、OS/CPUの違いを分けます。

再インストールの前に見る

node_modulesをコピーした環境差、Node.jsのABI、package manager、build logを確認します。

確認ポイント

  • Node.js版
  • OS/CPU
  • 音声パッケージ
  • build log

その他ライブラリ・言語

Discord API共通チェック

言語が違っても変わらない仕様を先に見ます。

共通仕様

Token、OAuth2、Gateway Intent、Interaction、Permissions、Rate LimitはDiscord API共通です。

ライブラリ固有に進む前に

API共通仕様の設定漏れか、ライブラリ固有の書き方かを分けます。

参考(公式ドキュメント)

言語固有の実行環境

Java、Ruby、その他言語のビルド/実行問題を分けます。

ビルドツール

JavaならJDK、Maven/Gradle、Rubyならgem、その他言語ならランタイムとpackage managerを確認します。

最小サンプル

Discord接続前に、ライブラリの公式最小サンプルが動くかを確認します。

確認ポイント

  • 言語バージョン
  • ライブラリバージョン
  • 依存解決ログ

ライブラリ公式情報を見る

非公式記事より対象バージョンの公式情報を優先します。

対象版

ライブラリ名が同じでも、Discord APIの対応版やメジャーバージョンで書き方が違います。

更新状況

古く更新されていないライブラリは、現在のIntentやInteractionへ対応しているか確認します。

質問時に揃えるもの

言語が違っても相談時の材料は共通化できます。

共通テンプレート

やりたいこと、使っている言語、ライブラリ、バージョン、最小コード、エラー全文、試したことを揃えます。

公開しない情報

Token、client secret、メール、個人情報、サーバー内URLは伏せます。

古い記事・バージョン差

日付とメジャーバージョン

記事の対象時期と手元の環境を先に比べます。

まず日付

Discord API、discord.py、discord.jsはIntent、Interaction、Embed、Command Handlerの前提が変わってきました。

版を揃える

記事の対象バージョンと手元のPython/Node.js/ライブラリ版が違う場合は、現在の公式例へ寄せます。

確認ポイント

  • 記事の日付
  • 対象ライブラリ版
  • 手元のライブラリ版

IntentとInteraction前提

古いprefix command中心の記事を現在の設計に読み替えます。

Message Content

現在はメッセージ本文読み取りにMessage Content Intentが関わります。不要ならslash commandやボタンへ寄せます。

Interaction

slash commandやUI部品では、初回応答、defer、ephemeral、follow-upを前提に設計します。

参考(公式ドキュメント)

Embed/Command Handler/API名の変化

名前が似ていても現在のAPIと違う場合があります。

クラス名とimport

discord.jsの古いRichEmbed、古いCommand Handler、discord.pyの古いClient例などは、そのまま使えないことがあります。

公式型とguide

最終的な書き方は現在の公式ドキュメント、型定義、移行情報で確認します。

参考(公式ドキュメント)

古い外部リンクの扱い

過去ログのリンクや画像をそのまま記事本文にしません。

リンク切れと仕様変更

古いリンクは消えていたり、現在の仕様と違う内容のまま残っていることがあります。

記事では確認順を書く

古いコードを転載するより、現在の公式情報へ戻る手順と見分け方を本文にします。

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