通过自定义命令授予角色

时间:2018-11-25 07:20:42

标签: node.js discord discord.js

我想为我的Discord服务器创建一个自定义命令,用户可以在其中使用其用户名和密码进行身份验证以获得特殊角色。该用户名和密码来自我自己的应用程序,我希望人们在对该网站进行正确的身份验证后获得“注册”角色。

我知道我需要一个用于服务器的机器人-这几乎是一件容易的事。但是,如何添加自定义命令,以便人们可以发送其凭据以允许这样做?我还可以使用临时哈希来避免记录凭据-但是,现在无论如何这只是理论上的事情。

我正在使用NPM的Discord.js软件包,其本身是官方API客户端。

1 个答案:

答案 0 :(得分:1)

命令的基本结构是:当您收到一条消息时,请检查它是否为命令并相应地执行操作。您应该这样写:

client.on('message' , msg => {
  // example: the command is "-test"

  let args = msg.content.split(' '),
    command = args.shift();
  if (command == "-test") {
    ...
  }
});

请注意,这是一个非常的基本示例,并且有更有效的方法来执行此操作(这取决于您要构建的内容以及您将如何执行此操作)。
要向成员添加角色,您可以使用GuildMember.addRole(),这是一个示例:

let {member} = msg;
if (!member) return msg.reply("You're not in a guild.");
member.addRole('role id here')
  .then(() => msg.reply("Role added."))
  .catch(console.error);

注意:如果您打算添加很多不同的命令,您可能会喜欢discord.js-commando库:它是一个使命令管理更轻松的框架。

这是每个部分的快速处理方法,如果您需要有关某个方面的更多信息,请告诉我。