Add support for attachments (#2088)
* Enforce valid button styles * support command option type 11 * missing '.' * Added type converter. Co-authored-by: Cat <lumitydev@gmail.com> Co-authored-by: CottageDwellingCat <80918250+CottageDwellingCat@users.noreply.github.com> Co-authored-by: FeroxFoxxo <feroxfoxxo@gmail.com> Co-authored-by: Cat <lumitydev@gmail.com> Co-authored-by: CottageDwellingCat <80918250+CottageDwellingCat@users.noreply.github.com>
This commit is contained in:
@@ -39,6 +39,7 @@ namespace Discord.WebSocket
|
||||
case ApplicationCommandOptionType.Role:
|
||||
case ApplicationCommandOptionType.Channel:
|
||||
case ApplicationCommandOptionType.Mentionable:
|
||||
case ApplicationCommandOptionType.Attachment:
|
||||
if (ulong.TryParse($"{model.Value.Value}", out var valueId))
|
||||
{
|
||||
switch (Type)
|
||||
@@ -76,6 +77,9 @@ namespace Discord.WebSocket
|
||||
}
|
||||
}
|
||||
break;
|
||||
case ApplicationCommandOptionType.Attachment:
|
||||
Value = data.ResolvableData.Attachments.FirstOrDefault(x => x.Key == valueId).Value;
|
||||
break;
|
||||
default:
|
||||
Value = model.Value.Value;
|
||||
break;
|
||||
|
||||
@@ -16,6 +16,9 @@ namespace Discord.WebSocket
|
||||
internal readonly Dictionary<ulong, SocketMessage> Messages
|
||||
= new Dictionary<ulong, SocketMessage>();
|
||||
|
||||
internal readonly Dictionary<ulong, Attachment> Attachments
|
||||
= new Dictionary<ulong, Attachment>();
|
||||
|
||||
internal SocketResolvableData(DiscordSocketClient discord, ulong? guildId, T model)
|
||||
{
|
||||
var guild = guildId.HasValue ? discord.GetGuild(guildId.Value) : null;
|
||||
@@ -104,6 +107,16 @@ namespace Discord.WebSocket
|
||||
Messages.Add(message.Id, message);
|
||||
}
|
||||
}
|
||||
|
||||
if (resolved.Attachments.IsSpecified)
|
||||
{
|
||||
foreach (var attachment in resolved.Attachments.Value)
|
||||
{
|
||||
var discordAttachment = Attachment.Create(attachment.Value);
|
||||
|
||||
Attachments.Add(ulong.Parse(attachment.Key), discordAttachment);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user