【问题标题】:TypeError: Cannot read property 'join' of undefined discord bot js say commandTypeError:无法读取未定义的不和谐机器人 js 说命令的属性“加入”
【发布时间】:2020-08-30 09:16:10
【问题描述】:

所以我正在制作一个不和谐的机器人,问题就在这里:

if(cmd === `${prefix}say`){
    if (!message.member.hasPermission("MANAGE_MESSAGE")) return message.reply("cant use this command");
    let botmessage = args.join(" ");
    message.delete().catch();
    message.channel.send(botmessage)
    for(var item=0; item<re.length; item++) 
    {}

当我打开 .bat 执行机器人时,它说:TypeError: Cannot read property 'join' of undefined

【问题讨论】:

  • 你能说明你是如何定义args的吗?
  • 让 rUser = message.guild.member(message.mentions.users.first() || message.guild.members.get(args[0]));
  • 这是rUser的定义,而不是args

标签: bots discord discord.js


【解决方案1】:

你必须先定义参数。你是如何定义cmd的?如果您每次都必须在命令中输入 ${prefix} ,那看起来并不方便。您可能也想更改它。将这段代码放在代码中的某个位置

const prefix = "!";
const args = message.content.slice(prefix.length).trim().split(/ +/g);
const cmd = args.shift().toLowerCase();

(别忘了删除你自己对“cmd”的定义!)

然后您可以通过这种方式简单地使用命令:

if (cmd === "say") {
  if (!message.member.hasPermission("MANAGE_MESSAGE")) return message.reply("cant use this command");
  let botmessage = args.join(" ");
  message.delete().catch();
  for (var item=0; item<re.length; item++) {
    // whatever there should go in
  };
};

【讨论】:

  • 谢谢你迟到了!
  • 不客气,也很抱歉现在迟到了^^' 成功了吗?
  • 很高兴听到这个消息?祝你一切顺利,祝你有美好的一天?
猜你喜欢
  • 2021-05-25
  • 2019-04-19
  • 2020-07-31
  • 2020-11-10
  • 2020-11-11
  • 2021-04-15
  • 2021-05-10
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多