如何使用discord.js在没有发送消息权限的情况下创建角色



我正在制作一个discord bot,但我不知道如何在没有发送消息权限的情况下制作一个静音角色。以下是我目前所拥有的:

var role = message.guild.roles.cache.find(r => r.name === 'muted');
if(!role) {
message.guild.roles.create({
data: {
name: 'muted',
color: 0,
permissions: [SEND_MESSAGES, false],
},
})
}

任何帮助都会很棒!

您应该使用client/bot函数吗?类似:

var guild = client.guilds.cache.get('guild-id'); //<-- Change guild-id to guild id
var role = guild.roles.cache.find(role => role.name == 'muted');
if(!role) {
async function mutedR() {
let role1 = await guild.roles.create({
data: {
name: 'muted',
color: 0,
},
})
guild.channels.cache.forEach(async (channel, id) => {
await channel.createOverwrite(role1, {
SEND_MESSAGES: false,
});
});
message.channel.send(`Created Muted Role For Test ${role1}`) //<-- You can change this message as well
}
mutedR()
}

此外,我还稍微完善了一下代码。您也可以在此处检查代码:https://cdn.discordapp.com/attachments/817529510948896772/841117091754016808/Recording_3.mp4

最新更新