【问题标题】:Discord.JS v12 - Finding user by ID and kicking themDiscord.JS v12 - 通过 ID 查找用户并踢他们
【发布时间】:2021-03-12 05:27:30
【问题描述】:

正如标题所暗示的那样,我很难找到有效的明确答案。

我尝试过使用:

message.guild.members.cache.get(args[0]); returns null
message.guild.members.fetch(args[0]); returns undefined
message.guild.member(args[0]); returns undefined

我的代码现在看起来像这样,但我不知道为什么它仍然返回 undefined 和 !offender 行...有什么想法吗?

let Offender = message.guild.member(message.mentions.users.first()) || message.guild.members.cache.get(args[0]) //returns mentioned user

// Was offender mentioned?
console.log(Offender)

if (!Offender) return message.channel.send(`You need to mention someone or give me their ID!`);

正如@Lioness100 所说 - 它确实返回 GuildMember 承诺,并且不会触发前面提到的“if (!Offender)”。但现在我们面临另一个问题,即我再次收到“Offender(...).haspermission... 不是函数” - 有什么想法吗?

if (Offender().hasPermission('KICK_MEMBERS')) return message.channel.send(`You can't kick that user!`);

正如@a2br 所说,仍然返回“Offender.hasPermission 不是函数” 代码:

if (!Offender) return message.channel.send(`You need to mention someone or give me their ID!`);

if (Offender.hasPermission('KICK_MEMBERS')) return message.reply(`You can't kick that user!`);

【问题讨论】:

  • 你在哪里定义 args?
  • 在执行中(消息,参数)
  • 再次尝试 fetch 方法,但这次是 await 它(它返回一个承诺)
  • 当它返回它没有属性hasPermission时,能否请您给我们Offender的类型? (另外,你应该将 var 名称更改为小写,这样的变量名称通常用于类,这可能会造成混淆)
  • 我尝试了所有三种方法——它们都返回了一些关于公会和用户的信息,而不是公会成员——所以是的,它没有 hasPermission 属性(谢谢,我在编码时会记住这一点从现在开始)

标签: javascript discord discord.js


【解决方案1】:

嗯,答案很简单:Offender 不是函数。您应该尝试从Offender() 中删除()。 这是您编辑的代码。它应该工作,虽然我没有测试它。

const offender = (await message.guild.member(message.mentions.users.first())) || message.guild.members.cache.get(args[0]) //returns mentioned user

if (!offender) return message.reply(`You need to mention someone or give me their ID!`);

if (offender.hasPermission('KICK_MEMBERS')) return message.reply(`You can't kick that user!`);

【讨论】:

    猜你喜欢
    • 2020-06-25
    • 2021-11-13
    • 1970-01-01
    • 2021-05-01
    • 2021-09-12
    • 2021-02-10
    • 2021-10-15
    • 1970-01-01
    • 2020-10-14
    相关资源
    最近更新 更多