如何在Discord Bots C#上执行unban命令?

时间:2018-09-22 10:14:50

标签: c# discord.net

因此,我正在为我的不和谐机器人发出unban命令,但该命令无法正常工作。每当我执行命令时,它都将不起作用。这是代码

minimap

顺便说一句,您能解释一下该解决方案的作用吗,因为我对编码非常陌生。

1 个答案:

答案 0 :(得分:0)

[Command("unban")]
public async Task UnbanTask(SocketGuildUser user)
{
    await user.Guild.RemoveBanAsync(user);
    await ReplyAsync($"Unbanned {user.Username}");
}

这似乎是您禁止用户的方法,这是非常正确的。但是,有些事情可能会出错。
首先,您需要在[RequireBotPermission(GuildPermission.BanMembers)]下使用Command,以确保该漫游器有权禁止/取消禁止用户。 其次,该漫游器可能无法禁止管理员。

主要是该命令要求您提及被禁止的用户。这不是很可行。所以这是解决方案。 RemoveBanAsync过载。

Overloads

因此只需在RemoveBanAsync方法中传递userID。

[Command("unban")]
[RequireBotPermission(GuildPermission.BanMembers)]
public async Task UnbanTask(ulong userId)
{
    await Context.Guild.RemoveBanAsync(userId);
    // Unbanned
}

您可以找到文档Here