从自定义命令授予角色
Granting a role from a custom command
我想为我的 Discord 服务器创建一个自定义命令,用户可以在其中使用他们的用户名和密码进行身份验证以获得特殊角色。此用户名和密码来自我自己的应用程序,我希望人们在正确验证站点后获得 "Registered" 角色。
我知道我将需要一个用于服务器的机器人 - 这几乎是显而易见的。但是,我如何添加自定义命令以便人们可以发送他们的凭据来允许这样做?我也可以使用临时散列来避免记录凭据 - 但是,目前这只是理论上的。
我正在使用来自 NPM 的 Discord.js 包,本身就是官方 API 客户端。
命令的基本结构是:当您收到消息时,检查它是否是命令并相应地执行操作。你应该这样写:
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
库:它是一个旨在简化命令管理的框架。
这是每个部分的快速方法,如果您需要有关某个方面的更多信息,请告诉我。
我想为我的 Discord 服务器创建一个自定义命令,用户可以在其中使用他们的用户名和密码进行身份验证以获得特殊角色。此用户名和密码来自我自己的应用程序,我希望人们在正确验证站点后获得 "Registered" 角色。
我知道我将需要一个用于服务器的机器人 - 这几乎是显而易见的。但是,我如何添加自定义命令以便人们可以发送他们的凭据来允许这样做?我也可以使用临时散列来避免记录凭据 - 但是,目前这只是理论上的。
我正在使用来自 NPM 的 Discord.js 包,本身就是官方 API 客户端。
命令的基本结构是:当您收到消息时,检查它是否是命令并相应地执行操作。你应该这样写:
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
库:它是一个旨在简化命令管理的框架。
这是每个部分的快速方法,如果您需要有关某个方面的更多信息,请告诉我。