[英]I am making a ping pong command and I am getting an error in my code
I'm making a bot and I'm getting an error saying that TypeError [ERR_INVALID_ARG_TYPE]: The "emitter" argument must be an instance of EventEmitter. Received type string ('message')
我正在制作一个机器人,但收到一条错误消息,提示
TypeError [ERR_INVALID_ARG_TYPE]: The "emitter" argument must be an instance of EventEmitter. Received type string ('message')
TypeError [ERR_INVALID_ARG_TYPE]: The "emitter" argument must be an instance of EventEmitter. Received type string ('message')
on line 11. Here's my code:在第 11 行
TypeError [ERR_INVALID_ARG_TYPE]: The "emitter" argument must be an instance of EventEmitter. Received type string ('message')
。这是我的代码:
const { Client, Intents } = require("discord.js");
const settings = require("./settings.json");
const client = new Client({
intents: [
Intents.FLAGS.GUILDS,
Intents.FLAGS.GUILD_MESSAGES
]
});
Client.on("message", (msg) => {
// Message function
if (msg.author.bot) return; // Ignore all bots
if (msg.content.startsWith(settings.prefix)) return; // It always has to starts with the prefix which is '!'
if (msg.content.startsWith(settings.prefix + "ping")) {
// When a player does '!ping'
msg.reply("Pong!"); // The bot will say @Author, Pong!
}
});
Client.login(token);
This is the error I get:这是我得到的错误:
throw new ERR_INVALID_ARG_TYPE('emitter', 'EventEmitter', emitter);
^
TypeError [ERR_INVALID_ARG_TYPE]: The "emitter" argument must be an instance of EventEmitter. Received type string ('message')
at new NodeError (node:internal/errors:372:5)
at eventTargetAgnosticAddListener (node:events:1008:11)
at Function.on (node:events:1095:3)
at Object.<anonymous> (C:\Users\yybro\discordBot\dex.js:11:8)
at Module._compile (node:internal/modules/cjs/loader:1105:14)
at Object.Module._extensions..js (node:internal/modules/cjs/loader:1159: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:77:12)
at node:internal/main/run_main_module:17:47 {
code: 'ERR_INVALID_ARG_TYPE'
And this is my settings.json
file:这是我的
settings.json
文件:
{
"clientId": "123456789012345678",
"guildId": "876543210987654321",
"token": "xxxxxxxxxxxxxxxxxxxxx"
}
You need to use client
which is the instance of the Client
class you made on line 4, and not Client
which is the class itself.您需要使用
client
,它是您在第 4 行创建的Client
类的实例,而不是Client
,它是类本身。
Your line 11 should look like that: client.on('message', msg => {
and same for client.login(token);
on the last line.您的第 11 行应如下所示:
client.on('message', msg => {
和最后一行的client.login(token);
相同。
尝试像这样为您的令牌使用导入:
const { token } = require('./settings.json')
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.