【问题标题】:Discord.js Bot returning NaN on message sendDiscord.js Bot 在发送消息时返回 NaN
【发布时间】:2020-07-02 23:42:20
【问题描述】:

所以我正在尝试创建此命令,该命令将允许我在我指定的任何频道中制作机器人消息,然后在经过一些工作后输入任何内容,但我确实让它在正确的频道中返回一条消息,但不是我输入的是什么,而不是返回一个“NaN”,这意味着任何想法?



    let channelname = args.split(' ')[0];
    if(!channelname)
    {
      return message.say('Please provide a channel name.')
    }
    let say = parseInt(args.split(' ')[1]);

    message.delete() //deletes the message you sent
    const generalChannel = message.guild.channels.cache.find(channel => channel.name === channelname)
    generalChannel.send(say)
  }else{

  }
}
}```

【问题讨论】:

    标签: javascript bots discord.js


    【解决方案1】:

    parseInt数组的第二个元素。 如果这不是数字,您将收到此错误。

    > parseInt("Hello")
    > NaN
    

    如果您只是删除parseInt,它应该可以工作:

    let say = args.split(' ')[1];
    

    【讨论】:

    • 你知道如何在频道名称后将消息连接在一起,因为我只能找到一种方法让它在你指定频道后发布一个单词
    • 您的意思是:const args = "channelname some long text"?这可以通过以下方式实现:const splitted = args.split(' ') // split the array on space const channel = splitted.shift() // contains the first element of the splitted array // splitted now contains some long text
    • 格式化在 cmets 上令人毛骨悚然,希望你明白
    • 我有点明白我试图复制你正在解释的内容,我的机器人只是返回'd'
    • 我可能完全搞砸了,但const splitted = args.split(' ') let channelname = args.split(' ')[0]; if(!channelname) { return message.say('Please provide a channel name.') } let say = (splitted.shift(' ')[1]);
    猜你喜欢
    • 2020-06-13
    • 2021-10-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-02-26
    • 2021-06-17
    • 2021-04-01
    相关资源
    最近更新 更多