61 lines
2.3 KiB
C#
61 lines
2.3 KiB
C#
using System.Threading.Tasks;
|
|
using Discord;
|
|
using Discord.Commands;
|
|
using Discord.WebSocket;
|
|
|
|
namespace Discord_Bot
|
|
{
|
|
public class ModSample : ModuleBase<SocketCommandContext>
|
|
{
|
|
[Command("kick")]
|
|
[Summary("Kick a user from the server.")]
|
|
[RequireBotPermission(GuildPermission.KickMembers)]
|
|
[RequireUserPermission(GuildPermission.KickMembers)]
|
|
public async Task Kick(SocketGuildUser targetUser, [Remainder]string reason = "No reason provided.")
|
|
{
|
|
await targetUser.KickAsync(reason);
|
|
await ReplyAsync($"**{targetUser}** has been kicked. Bye bye :wave:");
|
|
}
|
|
|
|
[Command("ban")]
|
|
[Summary("Ban a user from the server")]
|
|
[RequireUserPermission(GuildPermission.BanMembers)]
|
|
[RequireBotPermission(GuildPermission.BanMembers)]
|
|
public async Task Ban(SocketGuildUser targetUser, [Remainder]string reason = "No reason provided.")
|
|
{
|
|
await Context.Guild.AddBanAsync(targetUser.Id, 0, reason);
|
|
await ReplyAsync($"**{targetUser}** has been banned. Bye bye :wave:");
|
|
}
|
|
|
|
[Command("unban")]
|
|
[Summary("Unban a user from the server")]
|
|
[RequireBotPermission(GuildPermission.BanMembers)]
|
|
[RequireUserPermission(GuildPermission.BanMembers)]
|
|
public async Task Unban(ulong targetUser)
|
|
{
|
|
await Context.Guild.RemoveBanAsync(targetUser);
|
|
await Context.Channel.SendMessageAsync($"The user has been unbanned :clap:");
|
|
}
|
|
|
|
[Command("purge")]
|
|
[Summary("Bulk deletes messages in chat")]
|
|
[RequireBotPermission(GuildPermission.ManageMessages)]
|
|
[RequireUserPermission(GuildPermission.ManageMessages)]
|
|
public async Task Purge(int delNumber)
|
|
{
|
|
var channel = Context.Channel as SocketTextChannel;
|
|
var items = await channel.GetMessagesAsync(delNumber + 1).FlattenAsync();
|
|
await channel.DeleteMessagesAsync(items);
|
|
}
|
|
|
|
[Command("reloadconfig")]
|
|
[Summary("Reloads the config and applies changes")]
|
|
[RequireOwner] // Require the bot owner to execute the command successfully.
|
|
public async Task ReloadConfig()
|
|
{
|
|
await Functions.SetBotStatusAsync(Context.Client);
|
|
await ReplyAsync("Reloaded!");
|
|
}
|
|
}
|
|
}
|