我正在努力做到这一点,以使用户需要在另一台服务器中扮演角色才能使用特定命令。
我知道如何将命令限制为使用该命令的服务器中的角色,但不知道如何使它脱离服务器。
我能得到一些帮助还是至少朝着正确的方向迈进了一步
答案 0 :(得分:1)
您可以获取所需角色的服务器,并检查用户是否在该角色中。请记住,客户端需要同时位于两台服务器中。
// Guild the user needs to have the role in
let guildA = client.guilds.cache.get("GUILD ID");
// Role that the user needs
let requiredRole = guildA.roles.cache.get("ROLE ID");
// Member object of the user in guildA
let member = guildA.members.cache.get(message.author.id);
// Check if they have the role
if (member.roles.cache.has(requiredRole.id)) {
message.channel.send("You have the required role.");
} else {
message.channel.send("You do not have the required role");
};
“角色ID”和“ GUILD ID”是用户所需角色以及角色所在服务器的ID。
编辑:该代码适用于discord.js v12。较低的内容,您必须删除所有“缓存”实例,例如guildA.members.cache.get
-> guildA.members.get