我正在制作一个事件和命令处理程序 evrything 看起来不错,但是当我运行我的 ,hello
命令时,我收到一个错误,这是错误:
if(!message.content.startsWith(Prefix) || message.author.bot) return; ^
TypeError: 无法读取未定义的属性 'startsWith'
代码如下:
module.exports = (Discord, Client, message) => {
const Prefix = ',';
if(!message.content.startsWith(Prefix) || message.author.bot) return;
const args = message.content.slice(Prefix.length).split(/ +/);
const cmd = args.shift().toLowerCase();
const Command = Client.commands.get(cmd);
if(Command) Command.execute(Client, message, args, Discord, Random, RadnomPuppy);
}
我没有发现任何问题
答案 0 :(得分:0)
你的函数有很多参数,所以消息是未定义的。 应该是这样的:
client.on("message", (msg)=>{
const Prefix = ',';
if(!msg.content.startsWith(Prefix) || msg.author.bot) return;
const args = msg.content.slice(Prefix.length).split(/ +/);
const cmd = args.shift().toLowerCase();
const Command = Client.commands.get(cmd); // Have the commands part in file scope, to access it here.
if(Command) Command.execute(Client, msg, args, Discord, Random, RadnomPuppy);
})
答案 1 :(得分:0)
module.exports = (Discord, Client, message) => {
const Prefix = ',';
if(!message.content.startsWith(Prefix) || message.author.bot) return;
const args = message.content.slice(Prefix.length).split(/ +/);
const cmd = args.shift().toLowerCase();
const Command = Client.commands.get(cmd);
if(Command) Command.execute(Client, message, args, Discord);
}
我必须从 if(Command) Command.execute(Client, message, args, Discord);
行中删除 random 和 random-puppy