Discord.js 如何添加角色

时间:2021-01-29 17:50:56

标签: discord.js

现在我相信这是 discord.js 的旧版本,但我不确定。当你说某个词时,我试图添加一个“静音”角色,在这种情况下是“哎呀”。在控制台中,我收到错误消息“TypeError:无法读取未定义的属性‘添加’”,我不确定在这里该怎么做。这是我的代码:

client.on('message', (message) => {
    if(message.content.includes('Heck')) {
        message.reply('Not allowed');
        let role = message.guild.roles.cache.find(role => role.name === "Muted");
        console.log('works')
        let member = message.mentions.members.first();
        console.log('works')
        member.roles.add(role)
        console.log('works')
    }
});

2 个答案:

答案 0 :(得分:0)

Bot在公会中找不到Muted角色或没有成员提及添加角色

client.on('message', (message) => {
    if(message.content.includes('Heck')) {
        message.reply('Not allowed');
        let role = message.guild.roles.cache.find(role => role.name === "Muted");
        if (!role) return console.log("no role found");
        console.log('works')
        let member = message.mentions.members.first();
        if (!member) return console.log("no member mentioned");
        console.log('works')
        member.roles.add(role)
        console.log('works')
    }
});

这将记录 no role found 如果 Muted 角色未在公会中找到,如果角色存在且没有成员提及,那么它将在控制台中记录 no member mentioned

答案 1 :(得分:0)

这是一个没有静音角色的解决方案

client.on('message', (message) => {
    if(message.content.includes('Heck')) {
        let member = message.member;
        for (var [snowflake, channel] of msg.guild.channels.cache) {
            channel.overwritePermissions(member, { SEND_MESSAGES: false })
                .then()
                .catch(console.error);
        }
    }
}
相关问题