From 1ed93bbdde63c566753ba8ee9b7d0a73dd64bf3a Mon Sep 17 00:00:00 2001 From: benbierens Date: Thu, 9 Nov 2023 10:37:57 +0100 Subject: [PATCH] Adds required admin permission for admin commands. --- Tools/BiblioTech/BaseCommand.cs | 9 ++------- Tools/BiblioTech/CommandHandler.cs | 5 +++++ Tools/BiblioTech/Commands/AdminCommand.cs | 1 + 3 files changed, 8 insertions(+), 7 deletions(-) diff --git a/Tools/BiblioTech/BaseCommand.cs b/Tools/BiblioTech/BaseCommand.cs index 45f6ea6..ce618f9 100644 --- a/Tools/BiblioTech/BaseCommand.cs +++ b/Tools/BiblioTech/BaseCommand.cs @@ -9,13 +9,8 @@ namespace BiblioTech public abstract string Name { get; } public abstract string StartingMessage { get; } public abstract string Description { get; } - public virtual CommandOption[] Options - { - get - { - return Array.Empty(); - } - } + public virtual CommandOption[] Options => Array.Empty(); + public virtual bool IsAdminCommand => false; public async Task SlashCommandHandler(SocketSlashCommand command) { diff --git a/Tools/BiblioTech/CommandHandler.cs b/Tools/BiblioTech/CommandHandler.cs index 88b45aa..29d5b85 100644 --- a/Tools/BiblioTech/CommandHandler.cs +++ b/Tools/BiblioTech/CommandHandler.cs @@ -30,6 +30,11 @@ namespace BiblioTech .WithName(c.Name) .WithDescription(c.Description); + if (c.IsAdminCommand) + { + builder.WithDefaultMemberPermissions(GuildPermission.Administrator); + } + foreach (var option in c.Options) { builder.AddOption(option.Build()); diff --git a/Tools/BiblioTech/Commands/AdminCommand.cs b/Tools/BiblioTech/Commands/AdminCommand.cs index 9def408..47a161a 100644 --- a/Tools/BiblioTech/Commands/AdminCommand.cs +++ b/Tools/BiblioTech/Commands/AdminCommand.cs @@ -25,6 +25,7 @@ namespace BiblioTech.Commands public override string Name => "admin"; public override string StartingMessage => "..."; public override string Description => "Admins only."; + public override bool IsAdminCommand => true; public override CommandOption[] Options => new CommandOption[] {