![](/img/trans.png)
[英]Discord.js: TypeError: Cannot read properties of undefined (reading 'add')
[英]Discord.js: Cannot read properties of undefined (reading 'remove')
我正在尝试建立一个支持系统,但我的presenceUpdate
事件中发生了错误。 请问你能帮帮我吗?
提前致谢
PS:我是法国人,我使用翻译,请原谅我的不精确。
事件presenceUpdate.js:
module.exports = (client, oldMember, newMember, newPresence) => {
client.guilds.cache.forEach(guild => {
let { soutien_role_id: soutienRoleId, soutien_text: soutienText } = client.db.settings.selectSoutien.get(guild.id);
if(soutienRoleId && soutienText) {
if (!oldMember) return;
if (oldMember === undefined || newMember === undefined) return;
if (oldMember.status !== newMember.status || oldMember == undefined || newMember == undefined) return;
if (guild.members.cache.get(newMember.user.id) === undefined) return;
const soutienRole = guild.roles.cache.get(`${soutienRoleId}`);
const word = soutienText
const members = newMember.guild.members.cache;
let status = members.filter(m => m.presence?.status !== "offline")
status = Array.from(status)
if(!members) return;
if(status[0] && status[0].includes(word)) {
members.roles.add(soutienRole)
} else {
if(guild.roles.cache.some(r => r.id === soutienRoleId)) {
guild.members.roles.remove(soutienRole)
}
}
}
})
}
错误:
{
"stack": "TypeError: Cannot read properties of undefined (reading 'remove')
at C:\\Users\\smonf\\OneDrive\\Bureau\\Bots Discord\\New Projects\\- MyCorp\\archive-2022-06-25T114850Z\\src\\events\\presenceUpdate.js:24:35
at _Collection.forEach (<anonymous>)
at module.exports (C:\\Users\\smonf\\OneDrive\\Bureau\\Bots Discord\\New Projects\\- MyCorp\\archive-2022-06-25T114850Z\\src\\events\\presenceUpdate.js:2:25)
at Client.emit (node:events:537:28)
at PresenceUpdateAction.handle (C:\\Users\\smonf\\OneDrive\\Bureau\\Bots Discord\\New Projects\\- MyCorp\\archive-2022-06-25T114850Z\
ode_modules\\discord.js\\src\\client\\actions\\PresenceUpdate.js:37:19)
at module.exports [as PRESENCE_UPDATE] (C:\\Users\\smonf\\OneDrive\\Bureau\\Bots Discord\\New Projects\\- MyCorp\\archive-2022-06-25T114850Z\
ode_modules\\discord.js\\src\\client\\websocket\\handlers\\PRESENCE_UPDATE.js:4:33)
at WebSocketManager.handlePacket (C:\\Users\\smonf\\OneDrive\\Bureau\\Bots Discord\\New Projects\\- MyCorp\\archive-2022-06-25T114850Z\
ode_modules\\discord.js\\src\\client\\websocket\\WebSocketManager.js:346:31)
at WebSocketShard.onPacket (C:\\Users\\smonf\\OneDrive\\Bureau\\Bots Discord\\New Projects\\- MyCorp\\archive-2022-06-25T114850Z\
ode_modules\\discord.js\\src\\client\\websocket\\WebSocketShard.js:478:22)
at WebSocketShard.onMessage (C:\\Users\\smonf\\OneDrive\\Bureau\\Bots Discord\\New Projects\\- MyCorp\\archive-2022-06-25T114850Z\
ode_modules\\discord.js\\src\\client\\websocket\\WebSocketShard.js:317:10)
at WebSocket.onMessage (C:\\Users\\smonf\\OneDrive\\Bureau\\Bots Discord\\New Projects\\- MyCorp\\archive-2022-06-25T114850Z\
ode_modules\\ws\\lib\\event-target.js:199:18)"
}
将 'oldMember, newMember' 替换为 'oldPresence, newPresence' 以便更好地理解 ( presenceUpdate ) 并尝试以下操作:
newPresence.member?.roles.remove(soutienRole)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.