実現したいこと
- SlashCommandBuilderを使ってスラッシュコマンドを設定し、ターミナルアkら登録したい
前提
ここに質問の内容を詳しく書いてください。
(例)
Discord.js v14を使用して、以下のチュートリアルに従ってスラッシュコマンドを登録しようとしています。
https://scrapbox.io/discordjs-japan/SlashCommandBuilder%E3%82%92%E4%BD%BF%E3%81%A3%E3%81%A6%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%E7%99%BB%E9%8C%B2%E3%81%99%E3%82%8B
チュートリアル通りに、node register.js
とターミナルに入力し、登録しようと試みたのですが、以下のエラーメッセージが出てしまいました。
発生している問題・エラーメッセージ
Error: Expected token to be set for this request, but none was present
該当のソースコード
javascript
1// コマンド設定部分 2 const { SlashCommandBuilder } = require("discord.js") 3 4 const ping = new SlashCommandBuilder() 5 .setName('ping') 6 .setDescription('pong!') ... 7 8//コマンドの登録 9 10... ; 11 12 const commands = [ping, hello, help] 13 14 const { REST, Routes } = require("discord.js") 15 const rest = new REST({ version: '10' }).setToken(process.env.token) 16 async function main(){ 17 await rest.put( 18 Routes.applicationCommands("アプリケーションのIDが入ります"), 19 { body: commands } 20 ) 21 } 22 23 main().catch(err => console.log(err)) 24 25 const { Client, GatewayIntentBits } = require("discord.js") 26 const client = new Client({ 27 intents: [ 28 GatewayIntentBits.Guilds 29 ] 30 }) 31 client.on("interactionCreate", (interaction) => { 32 if (interaction.isChatInputCommand()){ 33 const { commandName } = interaction 34 if (commandName === "ping" ){ ... 35 36//コマンドの処理です 37 38 ... } 39 return interaction.reply(lang[interaction.getString("language")](interaction.member?.displayName || interaction.user.username)) 40 } 41 } 42 })
試したこと
process.env.DISCORD_BOT_TOKEN
をconfig.json
からのものに直す(直接記述はまだ)- Discord.jsのバージョンv13に落とす
補足情報(FW/ツールのバージョンなど)
Discord.jsバージョン:^14.7.0
RUST API バージョン:10
node.jsバージョン:16.x
注文になってしまいますが、私はプログラミングを始めたばかりの初心者なので、できるだけ具体的に操作など説明していただけると助かります。検索して分かりそうな操作ならあまり詳しく説明しなくても大丈夫です。よろしくお願いします。

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2023/02/17 09:13