首页 > 解决方案 > 检查添加的角色 guildmemberupdate discordjs

问题描述

在事件 guildmemberupdate 上,我试图查看事件是否在我的服务器中以及角色是否是某个角色。如果一切都是真的,它会发送一条消息。虽然它不发送消息

这是代码

        this.on('guildMemberUpdate', function (guild, oldMember, newMember) {
            if(guild.id !== '#') {
                return 
            } else {
                const wc = new Discord.WebhookClient("#', 'lG-###-7RIXy3LIup80X");
                if (oldMember.roles.cache.size !== newMember.roles.cache.size) {
                    
                    if (!oldMember.roles.cache.has("851156630748921927") && newMember.roles.cache.has("851156630748921927")) {
                        wc.send(`yo !`);
                    }
                
                }
    
            }
        
        
            })

它不发送“测试”

标签: javascriptnode.jseventsdiscord.js

解决方案


guildMemberUpdate事件需要服务器成员的意图。您可以在 Discord 开发者门户和您的客户端实例中启用它

const { Intents } = require("discord.js")
const client = new Client({intents: [Intents.FLAGS.GUILDS, Intents.FLAGS.GUILD_MEMBERS]})
//other intents may be added. Make sure it has server members intent (Intents.FLAGS.GUILD_MEMBERS)

推荐阅读