1
0
This repository has been archived on 2023-08-03. You can view files and clone it, but cannot push or open issues or pull requests.
budet-cho-bot/Budet-cho-bot/Modules/ModSample.cs
Dmitrii Kollerov 784ece36cd initial
2023-07-14 20:19:56 +07:00

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!");
}
}
}