fix: clean up some responders and commands

This commit is contained in:
sam 2024-09-02 15:06:10 +02:00
parent 9e0e53a428
commit 6e45b0f5b5
Signed by: sam
GPG key ID: 5F3C3C1B3166639D
4 changed files with 15 additions and 10 deletions

View file

@ -3,6 +3,9 @@ using OneOf;
using Remora.Discord.API.Abstractions.Objects;
using Remora.Discord.API.Abstractions.Rest;
using Remora.Discord.API.Objects;
using Remora.Discord.Commands.Contexts;
using Remora.Discord.Commands.Extensions;
using Remora.Discord.Commands.Services;
using Remora.Rest.Core;
using Remora.Results;
@ -70,5 +73,14 @@ public static class DiscordExtensions
public static string ToPrettyString(this IDiscordPermissionSet permissionSet) =>
string.Join(", ", permissionSet.GetPermissions().Select(p => p.Humanize(LetterCasing.Title)));
public static (Snowflake, Snowflake) GetUserAndGuild(this ContextInjectionService contextInjectionService)
{
if (contextInjectionService.Context is not IInteractionCommandContext ctx)
throw new CataloggerError("No context");
if (!ctx.TryGetUserID(out var userId)) throw new CataloggerError("No user ID in context");
if (!ctx.TryGetGuildID(out var guildId)) throw new CataloggerError("No guild ID in context");
return (userId, guildId);
}
public class DiscordRestException(string message) : Exception(message);
}