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

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

新規登録して質問してみよう
ただいま回答率
85.44%
Discord

Discordは、ゲーマー向けのボイスチャットアプリです。チャット・通話がブラウザ上で利用可能で、個人専用サーバーも開設できます。通話中でも音楽を流したり、PC画面を共有できるなど多機能な点が特徴です。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Q&A

解決済

1回答

6313閲覧

【discord.js】TypeErrorを解決したい。

Silver_GEL

総合スコア9

Discord

Discordは、ゲーマー向けのボイスチャットアプリです。チャット・通話がブラウザ上で利用可能で、個人専用サーバーも開設できます。通話中でも音楽を流したり、PC画面を共有できるなど多機能な点が特徴です。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

0グッド

0クリップ

投稿2021/09/20 05:40

前提・実現したいこと

現在、Discord.jsでBotを作成しているのですが、TypeErrorで先に進めないので、これを解決したい。

requireの部分に下線が引かれているので、これを解消すれば解決すると思います。

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

name:discord_bot name$ node index.js /Users/name/discord_bot/node_modules/discord.js/src/client/Client.js:544 throw new TypeError('CLIENT_MISSING_INTENTS'); ^ TypeError [CLIENT_MISSING_INTENTS]: Valid intents must be provided for the Client. at Client._validateOptions (/Users/name/discord_bot/node_modules/discord.js/src/client/Client.js:544:13) at new Client (/Users/name/discord_bot/node_modules/discord.js/src/client/Client.js:73:10) at Object.<anonymous> (/Users/name/discord_bot/index.js:2:16) at Module._compile (node:internal/modules/cjs/loader:1101:14) at Object.Module._extensions..js (node:internal/modules/cjs/loader:1153:10) at Module.load (node:internal/modules/cjs/loader:981:32) at Function.Module._load (node:internal/modules/cjs/loader:822:12) at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:79:12) at node:internal/main/run_main_module:17:47 { [Symbol(code)]: 'CLIENT_MISSING_INTENTS' }

該当のソースコード

javaScript

1const Discord = require('discord.js') 2const client = new Discord.Client() 3 4client.on('ready', () => { 5 console.log(`${client.user.tag} でログインしています。`) 6}) 7 8client.on('message', async msg => { 9 if (msg.content === '!ping') { 10 msg.channel.send('Pong!') 11 } 12}) 13 14client.login('トークン')

試したこと

・Discord.jsのアンインストール&インストール

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

node→v16.9.1
discord.js→v13.1.0

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

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

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

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

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

guest

回答1

0

ベストアンサー

これは v12 のコードなので v13 にコードを治す必要があります
このエラーはインテント指定してね!というエラーなので、次のどっちかのようにしたら解決します
また、v13ではmessageイベントは非推奨なので、messageCreateに直しましょう

js

1const Discord = require('discord.js') 2const client = new Discord.Client({ intents: Object.values(Discord.Intents.FLAGS) }); 3 4client.on('ready', () => { 5 console.log(`${client.user.tag} でログインしています。`) 6}) 7 8client.on('messageCreate', async msg => { 9 if (msg.content === '!ping') { 10 msg.channel.send('Pong!') 11 } 12}) 13 14client.login('トークン')
  • GUILDSGUILD_MESSAGESを指定する

js

1const Discord = require('discord.js') 2const client = new Discord.Client({ intents: [Discord.Intents.FLAGS.GUILDS, Discord.Intents.FLAGS.GUILD_MESSAGES] }); 3 4client.on('ready', () => { 5 console.log(`${client.user.tag} でログインしています。`) 6}) 7 8client.on('messageCreate', async msg => { 9 if (msg.content === '!ping') { 10 msg.channel.send('Pong!') 11 } 12}) 13 14client.login('トークン')

他にもIntentsには様々な書き方があるので、こちらをご覧ください
Gateway Intents を指定するサンプル

投稿2021/09/20 11:23

Waki285

総合スコア2014

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

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

Silver_GEL

2021/09/20 11:49

リンク先まで詳しくありがとうございます!!!!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.44%

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

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

質問する

関連した質問