[英]Command doesn't respond
每当我运行此命令时,机器人都不会响应 - 没有错误。 我有在 r.id 中匹配的角色?
client.on('message', async message => {
// Check if the user has a role with an id
if(message.author.bot) return;
if(!message.member.roles.cache.some(r => r.id === '1007043154182160466')){
if (message.content === '.say') {
const SayMessage = message.content.slice(4).trim();
setTimeout(function(){
message.delete()
}, `50`)
message.channel.send(SayMessage)
client.channels.cache.get('100704202s2756065411').send(SayMessage + " " + "**from**" + " " + "**" + (message.author.username) + "**" + " " + "(" + (message.author) + ")")
} else {
return message.react('⛔');
}
}
}
);
看起来您在检查message.content
时遇到问题。 从你的message.content.slice(4).trim()
我假设你正在创建的命令需要更多的 arguments,比如“.say hello world”或类似的东西。 因此,当您使用if (message.content === ".say")
时,它会检查内容是否除了“.say”之外什么都没有。 有很多方法可以解决这个问题,但现在你应该只检查内容是否以 .say 开头,使用 string.startsWith() function:
if (message.content.startsWith(".say")) {
const SayMessage = message.content.slice(4).trim();
// all the rest of your code here
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.