我正在使用 Discord.NET API 创建一个 Discord 机器人。一段时间以来,我一直在为我的机器人实施命令和模块,我正在尝试向我的机器人添加禁止命令。我做了这个命令,所以你必须有一个名为“Bot Admin”的角色。这是我正在使用的似乎导致问题的代码:
public class Ban : ModuleBase<SocketCommandContext>
{
[Command("ban")]
[RequireBotPermission(GuildPermission.BanMembers)]
public async Task banUser([Remainder]SocketGuildUser usertobehammered, string banre)
{
var rUser = Context.User as SocketGuildUser;
var role = Context.Guild.Roles.FirstOrDefault(x => x.Name == "Bot Admin");
if (rUser.Roles.Contains(role))
{
await ReplyAsync($"User {usertobehammered.Mention} has been banned.");
await Context.Guild.AddBanAsync(usertobehammered, 0, banre);
}
else
{
await ReplyAsync(":no_entry_sign: You need the Bot Admin role to do that!");
}
}
}
我不知道为什么,但是有了这个,我的机器人会在我正常运行时上线,但尝试运行任何命令都无济于事。删除类允许用户再次使用命令。
有人知道这里有什么问题吗?
编辑:仍然不知道这是什么原因,但我确实有另一个命令使用变量“rUser”和“role”,它们也在此处使用,但我认为这不是问题所在。
相关分类