質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.46%
Node.js

Node.jsとはGoogleのV8 JavaScriptエンジンを使用しているサーバーサイドのイベント駆動型プログラムです。

Q&A

0回答

1900閲覧

Discord.js スラッシュコマンドを実装したい

Rainkory

総合スコア7

Node.js

Node.jsとはGoogleのV8 JavaScriptエンジンを使用しているサーバーサイドのイベント駆動型プログラムです。

0グッド

0クリップ

投稿2021/10/27 11:34

編集2021/10/27 14:12

前提・実現したいこと

Discord.jsでスラッシュコマンドを実装したい
が、エラーが出てしまって起動もできない

発生している問題・エラーメッセージ

スラッシュコマンドを実装しようとしていたのですが、どの方法でもうまくいきません。
一応サブのサーバー機でも試しました

試したこと

javascript

1const { Client, ClientApplication } = require("discord.js"); 2 /** 3 * 4 * @param {Client} client 5 * @param {import("discord.js").ApplicationCommandData[]} commands 6 * @param {import("discord.js").Snowflake} guildID 7 * @returns {Promise<import("@discordjs/collection").Collection<string,import("discord.js").ApplicationCommand>>} 8 */ 9 async function register(client, commands, guildID) { 10 if (guildID == null) { 11 return client.application.commands.set(commands); 12 } 13 const guild = await client.guilds.fetch(guildID); 14 return guild.commands.set(commands); 15 } 16 const ping = { 17 name: "ping", 18 description: "pong!", 19 }; 20 const hello = { 21 name: "hello", 22 description: "botがあなたに挨拶します。", 23 options: [ 24 { 25 type: "STRING", 26 name: "language", 27 description: "どの言語で挨拶するか指定します。", 28 required: true, 29 choices: [ 30 { 31 name: "English", 32 value: "en" 33 }, 34 { 35 name: "Japanese", 36 value: "ja" 37 } 38 ], 39 } 40 ] 41 }; 42 const commands = [ping, hello]; 43 const client = new Client({ 44 intents: 0, 45 }); 46 client.token = process.env.DISCORD_TOKEN; 47 async function main() { 48 client.application = new ClientApplication(client, {}); 49 await client.application.fetch(); 50 await register(client, commands, process.argv[2]); 51 console.log("registration succeed!"); 52 } 53 main().catch(err=>console.error(err));

という見本?のコードをそのままコピペしました
エラーの内容はトークンが指定されていないもしくは正しくないというものでしたがトークンはサイトの見本に沿って指定済みできちんと正しいトークンが使われています。
参考元↓
https://scrapbox.io/discordjs-japan/%E3%82%B9%E3%83%A9%E3%83%83%E3%82%B7%E3%83%A5%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89%E3%82%92%E4%BD%BF%E3%81%A3%E3%81%A6%E3%81%BF%E3%82%88%E3%81%86

補足情報(FW/ツールのバージョンなど)

Node.jsは最新です
そのほかも最新です

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Waki285

2021/10/27 11:50

エラーはありますか?まだ、「どのようなことをしました」か?
Rainkory

2021/10/27 14:13

急いでいたもので内容がほとんどない質問になってしまいました... 修正しましたので上記の質問についてご回答いただけると幸いです。
fj68

2021/10/28 04:11

「console.log(process.env.DISCORD_TOKEN);」でトークンがセットされているはずの環境変数DISCORD_TOKENの値をログに出力して、意図したものになっているか確認してみてください。 HerokuなどのPaaSを使っている場合は環境変数の設定方法がご質問にある参考文献と異なる場合がありますので、その情報も追記したほうが解決に近づくかもしれません。 また、エラーの文面には解決の手がかりがたくさん含まれていますから、(秘匿しなければならい情報は適当に伏せつつ)コピペしましょう。
Rainkory

2021/10/29 07:49

色々弄っていたらなぜか治りました...
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.46%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問