From 39a674ddee30e900bf395b47753eb8c896a0cbe1 Mon Sep 17 00:00:00 2001 From: Josh Date: Wed, 30 Jun 2021 11:29:24 +1000 Subject: [PATCH] Fix typing of ApplicationCommandInteractionDataOption --- discord/types/interactions.py | 48 ++++++++++++++++++++++++++++++----- 1 file changed, 42 insertions(+), 6 deletions(-) diff --git a/discord/types/interactions.py b/discord/types/interactions.py index 466e4192d..ddf4f6012 100644 --- a/discord/types/interactions.py +++ b/discord/types/interactions.py @@ -93,16 +93,52 @@ class GuildApplicationCommandPermissions(PartialGuildApplicationCommandPermissio InteractionType = Literal[1, 2, 3] -class _ApplicationCommandInteractionDataOptionOptional(TypedDict, total=False): - value: ApplicationCommandOptionType +class _ApplicationCommandInteractionDataOption(TypedDict): + name: str + + +class _ApplicationCommandInteractionDataOptionSubcommand( + _ApplicationCommandInteractionDataOption +): + type: Literal[1, 2] options: List[ApplicationCommandInteractionDataOption] -class ApplicationCommandInteractionDataOption( - _ApplicationCommandInteractionDataOptionOptional +class _ApplicationCommandInteractionDataOptionString( + _ApplicationCommandInteractionDataOption ): - name: str - type: ApplicationCommandOptionType + type: Literal[3] + value: str + + +class _ApplicationCommandInteractionDataOptionInteger( + _ApplicationCommandInteractionDataOption +): + type: Literal[4] + value: int + + +class _ApplicationCommandInteractionDataOptionBoolean( + _ApplicationCommandInteractionDataOption +): + type: Literal[5] + value: bool + + +class _ApplicationCommandInteractionDataOptionSnowflake( + _ApplicationCommandInteractionDataOption +): + type: Literal[6, 7, 8, 9] + value: Snowflake + + +ApplicationCommandInteractionDataOption = Union[ + _ApplicationCommandInteractionDataOptionString, + _ApplicationCommandInteractionDataOptionInteger, + _ApplicationCommandInteractionDataOptionSubcommand, + _ApplicationCommandInteractionDataOptionBoolean, + _ApplicationCommandInteractionDataOptionSnowflake, +] class ApplicationCommandResolvedPartialChannel(TypedDict):