【问题标题】:Discord bot not running command, erroing outDiscord bot没有运行命令,出错了
【发布时间】:2020-05-28 15:34:12
【问题描述】:

我目前正在使用 giverank(角色)命令编写一个不和谐的机器人。该命令一直工作到最后,它不会为您提供指定的角色,而是会出错。我已经尝试更改代码,但无济于事。这是代码

const Discord = require("discord.js");

module.exports = {
  name: "giverank",
  aliases: ["gr"],
  category: "ranks",
    description: "die rank",
    usage: "<input>",
    run: (client, message, args) => {

      if(!message.member.hasPermission("ADMINISTRATOR")) return message.reply("No permission.").then(m => m.delete(5000));

      let rMember = message.guild.member(message.mentions.users.first()) || message.guild.members.get(args[0]);

      if(!rMember) return message.reply('Could not find that user.');
      let role = args.join(" ").slice(22);

      if(!role) return message.reply('Specify a role.');

      let gRole = message.guild.roles.find(`name`, role);
      if(!gRole) return message.reply('Could not find that role.');

      if(rMember.roles.has(gRole.id));
      await(rMember.addRole(gRole.id));

      message.channel.send(`<@${rMember.id}> has been given the specified role.`).then(m => m.delete(5000));




    }
};

谢谢!

错误: (node:7048) DeprecationWarning: Collection#find: pass a function instead

【问题讨论】:

  • 您提供的错误实际上不是错误,而是一个简单的警告。它告诉你改用message.guild.roles.find(r =&gt; r.name === role),不会影响任何事情。

标签: discord.js


【解决方案1】:

await(rMember.addRole(gRole.id)); 不是 await 的工作方式。你可能想熟悉一下await,因为正确使用是非常有用的。

关于您的问题,您做错了另一件事。您当前检查该成员是否具有该角色,然后尝试分配它,这没有意义。

if(!rMember.roles.has(gRole.id));
  rMember.addRole(gRole.id).then(role => {
     message.channel.send(`<@${rMember.id}> has been given the specified role.`).then(m => m.delete(5000));
  });

【讨论】:

    【解决方案2】:

    似乎错误来自这里: let gRole = message.guild.roles.find(`name`, role);

    https://discord.js.org/#/docs/main/stable/class/Collection?scrollTo=find

    也许您可以尝试使用.get() 方法访问信息?

    希望有帮助!

    【讨论】:

      猜你喜欢
      • 2020-09-27
      • 2021-04-16
      • 2022-01-04
      • 1970-01-01
      • 1970-01-01
      • 2021-10-14
      • 2018-01-03
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多