首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何查看用户是否被封禁?

如何查看用户是否被封禁?
EN

Stack Overflow用户
提问于 2019-06-24 16:08:28
回答 2查看 6.6K关注 0票数 3

我已经设法让unban命令工作了,但现在我需要创建一个条件来避免错误,如果用户在禁止列表中,我需要将unban代码放在条件中,但我不知道如何操作,也没有在互联网上看到任何东西。

EN

回答 2

Stack Overflow用户

发布于 2019-06-24 22:48:46

您可以使用Guild.fetchBans()检索被禁止用户的Collection。请记住,此方法返回一个Promise。然后,您可以使用Collection.find()搜索集合。

示例:

代码语言:javascript
复制
// Async context needed for 'await' (meaning this must be within an async function).
// Assuming 'message' is a Message within the guild.

try {
  const banList = await message.guild.fetchBans();

  const bannedUser = banList.find(user => user.id === 'someID');

  if (bannedUser) await message.channel.send(`${bannedUser.tag} is banned.`);
  else await message.channel.send('That user is not banned.');
} catch(err) {
  console.error(err);
}
票数 4
EN

Stack Overflow用户

发布于 2021-06-11 16:34:37

由于Discord.js的包最新更新而导致的更新。确保用户是否被禁止的新方法类似于前一个方法,尽管您现在想要声明:

代码语言:javascript
复制
const targetId = banList.get(guildmemberID).user

"guildmemberID“是我的常量,这意味着你可以用你喜欢的任何东西来替换它,就像这样:

代码语言:javascript
复制
const guildUser = args[0]

"args“会根据你的目标而变化。将所有内容放在一起后,您的代码可能如下所示:

代码语言:javascript
复制
const guildmemberID = args[0]

try {
  const banList = await message.guild.fetchBans();
  const targetId = banList.get(guildmemberID).user

                      if(targetId) {
                        await message.guild.members.unban(targetId);
                        await message.channel.send('This user has been unbanned!');
                      } else {
                          await message.channel.send('This user is not banned')
                      }
} catch (err) {
   console.log(err);
}

请记住,如果try/catch块不在异步函数中,则不能使用它。

我希望它能帮上忙!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56732330

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档