TypeError:无法读取未定义的不和谐机器人 js 说命令的属性“加入”

Posted

技术标签:

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

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

if(cmd === `$prefixsay`)
    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 【参考方案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
  ;
;

【讨论】:

谢谢你迟到了! 不客气,也很抱歉现在迟到了^^' 成功了吗? 很高兴听到这个消息?祝你一切顺利,祝你有美好的一天?

以上是关于TypeError:无法读取未定义的不和谐机器人 js 说命令的属性“加入”的主要内容,如果未能解决你的问题,请参考以下文章

如何修复“TypeError:无法读取未定义的属性 'toString'” |不和谐.js

“typeError:无法读取未定义的属性‘用户名’。”

不和谐.js | TypeError:无法读取未定义的属性“0”

“TypeError:无法读取未定义的属性‘split’” discord.js v12

Discord.js TypeError:无法读取未定义发送到特定频道的属性“发送”

TypeError:每当我在不和谐的情况下向我的机器人输入 PM 时,都无法读取未定义的属性“id”