Update for the breaking change discord has made + v3 is cringe (#2951)

* update for the breaking change discord made + v3 is fucked

* this could've bee a cool surprise 4 everyone
This commit is contained in:
Mihail Gribkov
2024-06-29 20:21:15 +03:00
committed by GitHub
parent cb79f04b93
commit 8afea2c09d
9 changed files with 36 additions and 15 deletions

View File

@@ -4,7 +4,7 @@ namespace Discord.Rest;
internal static class InteractionMetadataExtensions
{
public static IMessageInteractionMetadata ToInteractionMetadata(this API.MessageInteractionMetadata metadata)
public static IMessageInteractionMetadata ToInteractionMetadata(this API.MessageInteractionMetadata metadata, BaseDiscordClient discord)
{
switch (metadata.Type)
{
@@ -12,28 +12,31 @@ internal static class InteractionMetadataExtensions
return new ApplicationCommandInteractionMetadata(
metadata.Id,
metadata.Type,
metadata.UserId,
metadata.User.Id,
metadata.IntegrationOwners.ToImmutableDictionary(),
metadata.OriginalResponseMessageId.IsSpecified ? metadata.OriginalResponseMessageId.Value : null,
metadata.Name.GetValueOrDefault(null));
metadata.Name.GetValueOrDefault(null),
RestUser.Create(discord, metadata.User));
case InteractionType.MessageComponent:
return new MessageComponentInteractionMetadata(
metadata.Id,
metadata.Type,
metadata.UserId,
metadata.User.Id,
metadata.IntegrationOwners.ToImmutableDictionary(),
metadata.OriginalResponseMessageId.IsSpecified ? metadata.OriginalResponseMessageId.Value : null,
metadata.InteractedMessageId.GetValueOrDefault(0));
metadata.InteractedMessageId.GetValueOrDefault(0),
RestUser.Create(discord, metadata.User));
case InteractionType.ModalSubmit:
return new ModalSubmitInteractionMetadata(
metadata.Id,
metadata.Type,
metadata.UserId,
metadata.User.Id,
metadata.IntegrationOwners.ToImmutableDictionary(),
metadata.OriginalResponseMessageId.IsSpecified ? metadata.OriginalResponseMessageId.Value : null,
metadata.TriggeringInteractionMetadata.GetValueOrDefault(null)?.ToInteractionMetadata());
metadata.TriggeringInteractionMetadata.GetValueOrDefault(null)?.ToInteractionMetadata(discord),
RestUser.Create(discord, metadata.User));
default:
return null;