【问题标题】:Can't check custom status of discord.js user无法检查 discord.js 用户的自定义状态
【发布时间】:2022-01-15 20:00:03
【问题描述】:

我正在尝试在 discord.js 版本 12 中创建一个系统,如果您的状态中有我的虚荣邀请,您将获得支持者角色

每当我尝试这个时,它总是说TypeError: Cannot read property 'find' of undefined

这是我的代码

const roleID = "MyRoleID"
const inviteLink = "discord.gg/MyVanityInvite"

client.on('presenceUpdate', (_oldPresence, newPresence) => {
  const member = newPresence.member
  if (member) {
    // Ignore members who already have the role
    if (!member.roles.cache.has(roleID)) {
      console.log(newPresence)
      const customStatus = newPresence.activities.find(activity => activity.type === 'CUSTOM_STATUS').state
      if (customStatus) {
        if (customStatus.includes(inviteLink)) {
          member.roles.add(roleID)
            .catch(console.error)
        }
      }
    }
  }
})

如果我尝试记录 newPresence 是记录一个数组

【问题讨论】:

    标签: javascript node.js discord.js


    【解决方案1】:

    <Presence>.activities返回活动数组,不需要获取cache,直接找like即可:

    newPresence.activities.find(activity => activity.type === 'CUSTOM_STATUS').state
    

    【讨论】:

    • 仍然出现同样的错误:/
    • 尝试记录 newPresence.activities
    • 返回未定义
    • 只有newPresence?
    • 返回一个长表数组
    猜你喜欢
    • 2020-11-17
    • 2021-07-15
    • 1970-01-01
    • 2021-12-20
    • 2021-10-09
    • 1970-01-01
    • 2011-05-29
    • 2021-10-23
    • 2021-05-19
    相关资源
    最近更新 更多