【发布时间】:2020-09-09 21:17:24
【问题描述】:
我创建了一个temporary mute 命令,我的机器人检查公会是否有一个名为Muted 的角色。因此,如果用户在 Muted 角色不存在的公会中执行命令,它会为他们创建一个。但是,我遇到了一个问题,机器人创建了一个名为 new role 而不是 Muted image1 的角色。如果用户在公会中第二次执行该命令,则会创建new role 角色的副本;因为找不到Muted 角色image2。
let muteRole = message.guild.roles.cache.find(m => m.name === "Muted");
if (!muteRole) {
try {
muteRole = await message.guild.roles.create({
name: "Muted",
color: "#000000",
permissions:[]
});
message.guild.channels.cache.forEach(async (channel, id) => {
await channel.createOverwrite(muteRole, {
SEND_MESSAGES: false,
MANAGE_MESSAGES: false,
READ_MESSAGES: false,
ADD_REACTIONS: false
});
});
} catch(e) {
console.log(e.stack);
}
}
【问题讨论】:
-
您使用的是什么 discord.js 版本?
-
Discord.js v12.2
标签: javascript node.js discord discord.js roles