discord.js 来自状态的自动角色 activity
discord.js auto role from status activity
我正在为我的服务器编写一个机器人程序,我希望该机器人程序能够读取所有成员的状态,并在他们有虚荣心时为他们分配一个特定的角色 link。我从头开始编写这段代码,但它似乎不起作用。
这是代码:
client.on('presenceUpdate', async (oldPresence, newPresence) => {
const role = newPresence.guild.roles.cache.get("844047538797281310");
const member = newPresence.member
if (member.user.presence.activities[0]?state.includes( ".gg/moonxile" || "discord.gg/moonxile" )) {
return newPresence.member.roles.add(role)
} else {
if(member.roles.cache.has(role.id)) {
newPresence.member.roles.remove(role)
}
}
})
我是编码新手,我不知道哪里出错了
一开始.includesjs方法里面是不支持条件的
member.user.presence.activities 是 activity 的数组,声明是 属性 所以代码应该看起来像
client.on('presenceUpdate', async (oldPresence, newPresence) => {
const role = newPresence.guild.roles.cache.get("844047538797281310");
const member = newPresence.member
const activities = member.user.presence.activities[0];
if (activities && (activities.state.includes( ".gg/moonxile" ) || activities.state.includes("discord.gg/moonxile" ))) {
return newPresence.member.roles.add(role)
} else {
if(member.roles.cache.get(role.id)) {
newPresence.member.roles.remove(role)
}
}
})
我正在为我的服务器编写一个机器人程序,我希望该机器人程序能够读取所有成员的状态,并在他们有虚荣心时为他们分配一个特定的角色 link。我从头开始编写这段代码,但它似乎不起作用。 这是代码:
client.on('presenceUpdate', async (oldPresence, newPresence) => {
const role = newPresence.guild.roles.cache.get("844047538797281310");
const member = newPresence.member
if (member.user.presence.activities[0]?state.includes( ".gg/moonxile" || "discord.gg/moonxile" )) {
return newPresence.member.roles.add(role)
} else {
if(member.roles.cache.has(role.id)) {
newPresence.member.roles.remove(role)
}
}
})
我是编码新手,我不知道哪里出错了
一开始.includesjs方法里面是不支持条件的 member.user.presence.activities 是 activity 的数组,声明是 属性 所以代码应该看起来像
client.on('presenceUpdate', async (oldPresence, newPresence) => {
const role = newPresence.guild.roles.cache.get("844047538797281310");
const member = newPresence.member
const activities = member.user.presence.activities[0];
if (activities && (activities.state.includes( ".gg/moonxile" ) || activities.state.includes("discord.gg/moonxile" ))) {
return newPresence.member.roles.add(role)
} else {
if(member.roles.cache.get(role.id)) {
newPresence.member.roles.remove(role)
}
}
})