是否可以禁止不在 Discord 服务器中的用户?

Is it possible to ban users that aren't in the discord server?

我最近开始在 javascript 制作我的 discord 机器人。我让我自己的机器人有禁止人的能力,它成功地禁止了服务器中的人,但我想知道是否有办法禁止离开服务器甚至从未加入服务器的人。

const bUser = message.guild.member(message.mentions.users.first() || message.guild.members.get(args[0]));

if(!bUser) return message.channel.send("Couldn't find user.");

message.guild.member(bUser).ban(banreason);

return message.channel.send("User " + bUser + " was banned");

当我禁止不在服务器中的人时,它说:"Couldn't find user."

您可以使用 Guild.ban() 方法,该方法使用用户而不是 GuildMember。

示例:

// async context

try {
  const user = message.mentions.users.first() || await client.fetchUser(args[0]);
  if (!user) return await message.channel.send('Unable to find user.');

  const reason = args.slice(1).join(' ') || 'No reason provided';

  await message.guild.ban(user, { reason: reason });
} catch(err) {
  console.error(err);
}