このプロジェクトには、Getting Guideのために構築されたJavaScriptで書かれた基本的なロックペーパーシッパースタイルのDiscordアプリが含まれています。
以下は、プロジェクト構造の基本的な概要です。
├── examples -> short, feature-specific sample apps │ ├── app.js -> finished app.js code │ ├── button.js │ ├── command.js │ ├── modal.js │ ├── selectMenu.js ├── .env.sample -> sample .env file ├── app.js -> main entrypoint for app ├── commands.js -> slash command payloads + helpers ├── game.js -> logic specific to RPS ├── utils.js -> utility functions and enums ├── package.json ├── README.md └── .gitignore
開始する前に、NodeJSをインストールし、適切なアクセス許可を備えたDiscordアプリを作成する必要があります。
applications.commands
bot
(メッセージを有効にする送信)
アプリの構成については、Getting Guideで詳細にカバーされています。
最初にプロジェクトをクローンします:
git clone https://github.com/discord/discord-example-app.git
次に、そのディレクトリに移動し、依存関係をインストールします。
cd discord-example-app npm install
アプリの設定から資格情報を取得し、それらを.env
ファイルに追加します(例については.env.sample
参照)。アプリID( APP_ID
)、ボットトークン( DISCORD_TOKEN
)、および公開キー( PUBLIC_KEY
)が必要です。
クレデンシャルの取得については、Getting Guideで詳細に説明しています。
環境変数は、グリッチの
.env
ファイルに、またはローカルで開発する場合、およびレプリットのシークレットタブ(左側のロックアイコン)に追加できます。
サンプルアプリのコマンドは、 commands.js
で設定されています。 package.json
で構成されたALL_COMMANDS
コマンドを実行すると、 commands.js
のすべてのコマンドがcommands.jsがインストールされますregister
npm run register
資格情報が追加されたら、先に進んでアプリを実行します。
node app.js
nodemon
のようなパッケージは、ローカルの変更を監視し、アプリを再起動しますが、局所的に開発中に役立つ場合があります。
Getting Guideをフォローしていない場合は、 examples/app.js
(完成したapp.js
ファイル)のコンテンツをトップレベルのapp.js
に移動できます。
このプロジェクトには、Discordがリクエストを送信できるパブリックエンドポイントが必要です。ローカルで開発およびテストするには、 ngrok
のようなものを使用してHTTPトラフィックをトンネルします。
まだNGROKをインストールしていない場合は、ポート3000
でリスニングを開始します。
ngrok http 3000
接続が開いているのを見るはずです:
Tunnel Status online Version 2.0/2.0 Web Interface http://127.0.0.1:4040 Forwarding https://1234-someurl.ngrok.io -> localhost:3000 Connections ttl opn rt1 rt5 p50 p90 0 0 0.00 0.00 0.00 0.00
https
で始まる転送アドレス、この場合はhttps://1234-someurl.ngrok.io
をコピーしてから、アプリの設定に移動します。
[一般情報]タブには、インタラクションエンドポイントURLがあります。そこにngrokアドレスを貼り付け、それに追加/interactions
を追加します( https://1234-someurl.ngrok.io/interactions
interactionsの例)。
[変更を保存]をクリックすると、アプリの実行ができている必要があります
API機能に関する詳細な情報については、ドキュメントをお読みください。
このプロジェクトのexamples/
フォルダーを閲覧して、より小さな機能固有のコードの例
Discord Developers Serverに参加して、APIについて質問し、Discord APIチームがホストするイベントに参加し、他の開発者と対話します。
コミュニティメンバーが管理する言語固有のツールについては、コミュニティリソースをご覧ください。