【发布时间】:2021-05-19 17:29:29
【问题描述】:
我一直在研究列入黑名单的单词选项,以及当公会成员设置包含黑名单单词的自定义状态时进行记录。但是,我遇到了一个问题,有时我的旧状态与新状态相同(仅适用于某些公会,其他公会很好)。我的代码在这里:
client.on("presenceUpdate", (oldPresence, newPresence) => {
const newCustomStatus = newPresence.activities[0].state
const oldCustomStatus = oldPresence.activities[0].state
console.log('old status: ' + oldCustomStatus)
console.log('new status: ' + newCustomStatus)
})
oldCustomStatus 在某些公会中有时与newCustomStatus 相同,这使得无法记录旧状态。它只发生在成员和机器人共享的半数公会中。
我考虑过在 bot 上创建所有状态的缓存,并且只切换一次事件,这样我就可以读取新旧状态,因为总是至少有一个公会具有正确的信息。但是,我无法对列入黑名单的单词进行每个公会的检查,因为我不知道从用户对象中读取公会 ID 的方法。
有什么方法可以修复损坏的旧状态和新状态?或者获取用户和机器人共享的公会 ID 列表的方法?
谢谢
【问题讨论】:
标签: discord.js