【问题标题】:Trying to set a variable by a command. But keep getting an error试图通过命令设置变量。但是一直报错
【发布时间】:2021-06-27 18:03:14
【问题描述】:
let comand = "!setvariable"
  if (message.content.startsWith(komut313)){
    let member = message.member
    if (member.hasPermission("ADMINISTRATOR")){
      const args = message.content.slice(comand.length).trim().split(' ');
      console.log(args)
       if (args === ''){
         message.channel.send("string is empty")
        }else{
         message.channel.send(args)
      }
    }
  }

我在这里要做的是如果“args”是一个空字符串,则发送一条消息,如果不是,则在频道中发送“args”。

但它说:“不能发送空消息。”

【问题讨论】:

    标签: string discord discord.js


    【解决方案1】:

    问题是args 是一个数组(因为您使用了.split(' ') 方法)并且您只能发送字符串或MessageEmbeds。

    另外,args === '' 只会检查args 是否为空字符串。

    您可以将join() 数组返回一个字符串并将其发送或使用message.content.slice(comand.length).trim()

    message.channel.send(args.join(' '))
    

    您可能从来没有真正想要创建一个数组,而只想从中删除命令:

    if (member.hasPermission('ADMINISTRATOR')) {
      const args = message.content.slice(command.length).trim();
    
      if (!args) {
        message.channel.send('string is empty');
      } else {
        message.channel.send(args);
      }
    }
    

    【讨论】:

    • 不客气。如果此答案有用,请单击其左侧的点赞按钮 (▲)。如果它回答了您的问题,请单击复选标记 (✓) 接受它。这样其他人就知道你已经(充分地)得到了帮助。见What should I do when someone answers my question?
    猜你喜欢
    • 2018-11-18
    • 1970-01-01
    • 2016-06-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多