繁体   English   中英

命令没有响应

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM