繁体   English   中英

NodeJS discord bot命令出现错误无法发送空消息

[英]NodeJS discord bot commands getting error Cannot send an empty message

我正在制作一个不和谐的机器人,但我的命令之一无法正常工作。 我希望机器人复制用户在命令中所说的内容,但出现错误: UnhandledPromiseRejectionWarning:未处理的承诺拒绝(拒绝ID:2):DiscordAPIError:无法发送空消息 ,我也尝试使用console.log(),但是也是空的,所以我知道出了点问题,但是我不确定是什么。

case "say":
    if(!args[1] == " "|| !args[1] == ""){
    //  message.channel.sendMessage(args[1]);
      words = [];
      for(i=0;i==args.length-1;i++){
        words.append(args[i]);
      }
      var wordsString = words.join(" and ");
      console.warn("Bot said: "+wordsString);
      message.channel.sendMessage(wordsString);
    }
break;

将非字符串消息发送到通道时,我遇到了相同的错误,例如尝试发送ArrayObject

但是,最不言而喻的是, 您正在尝试向该通道发送一个空字符串。

case "say":
    if (!args[1] == " " && !args[1] == "") {
      // message.channel.sendMessage(args[1]);
      let words = [];
      for (let i = 0; i == args.length - 1; i++) {
        words.append(args[i]);
      }
      var wordsString = words.join(" and ");
      console.warn("Bot said: "+ wordsString);
      message.channel.sendMessage(wordsString);
    }
break;

正如另一位用户指出的那样,您想在if语句中保留空格和空字符串。 所以改变|| &&将完成此操作。


作为旁注

您从未将i声明为变量或words (除非您在块外声明)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

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