首页 > 解决方案 > 如何取消消息中其他用户的反应?

问题描述

我为用户编写代码以获得反应角色,但我想防止他们使用指定以外的反应。我该怎么做呢?

bot.on('raw', async dados => {
  if(dados.t !== "MESSAGE_REACTION_ADD" && dados.t !== "MESSAGE_REACTION_REMOVE") return
  if(dados.d.message_id != "899767690871324742") return

  let servidor = bot.guilds.cache.get("895322526425710632")
  
  let membro = await servidor.members.fetch(dados.d.user_id)
  
  let cargo1 = await servidor.roles.fetch('897812638271160340'),
      cargo2 = await servidor.roles.fetch('897812639047118878'),
      cargo3 = await servidor.roles.fetch('897812639181336587')

    if(dados.t === "MESSAGE_REACTION_ADD"){
        if(dados.d.emoji.id === "899466917759311912"){
            if(membro.roles.cache.has(cargo1)) return
            membro.roles.add(cargo1)
        }else if(dados.d.emoji.id === "899450065050042380"){
            if(membro.roles.cache.has(cargo2)) return
            membro.roles.add(cargo2)
        }else if(dados.d.emoji.id === "899466930606456863"){
            if(membro.roles.cache.has(cargo3)) return
            membro.roles.add(cargo3)
        }else if(dados.d.emoji.id !== "899466917759311912" || dados.d.emoji.id !== "899450065050042380" || dados.d.emoji.id !== "899466930606456863"){
            //cancel reaction
        }
    }

标签: javascript

解决方案


推荐阅读