【问题标题】:Discord.js 13 interaction check if interaction creator is in the guildDiscord.js 13 交互检查交互创建者是否在公会中
【发布时间】:2022-01-13 20:41:40
【问题描述】:

我最近注意到,即使用户不在公会中,仍然可以进行交互,例如服务器预览模式就是这种情况

这给我带来了一些问题

有谁知道是否有一种方便的方法来检测创建交互的用户是否是公会成员?或者我可以阻止非公会成员的所有互动吗?

【问题讨论】:

  • 只是说,如果这个人在公会中创造了互动,他们就会在公会中。它总是返回 true。

标签: javascript discord.js


【解决方案1】:

您可以在公会中搜索用户,如果为空则返回。

var user = guild.users.cache.find(user => user.id === 'USER-ID')
if(!user) return

【讨论】:

    【解决方案2】:

    您可以使用Guild.members.cache.some 来判断用户是否存在。

    const exists = interaction.guild.members.cache.some(x => x.id == interaction.user.id)
    

    【讨论】:

      【解决方案3】:

      你可以试试下面这段代码:

      const user_exists = (<interaction>.guild.users.cache.find(user => user.id === <interaction>.user.id)) ? true : false
      

      如果用户存在则返回 true,否则返回 false,因此您可以运行检查:

      if(!user_exists) // Tell the person they cannot run the command
      

      【讨论】:

        猜你喜欢
        • 2021-10-16
        • 2020-03-12
        • 1970-01-01
        • 2022-01-05
        • 1970-01-01
        • 2018-07-09
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多