1- from __future__ import annotations
21
32import datetime
43import typing
@@ -49,7 +48,10 @@ def __init__(
4948 logger ,
5049 ):
5150 self ._token = _json ["token" ]
52- self .message = None # Should be set later.
51+ self ._type = _json ["type" ] # Factor to check if its a slash command vs menus
52+ self .message = None
53+ self ._message_menu_id = None if self ._type != 2 else _json ["data" ]["resolved" ]["messages" ] # Should be set later.
54+ self ._author_menus_id = None if self ._type != 1 else _json ["data" ]["resolved" ]["members" ]
5355 self .interaction_id = _json ["id" ]
5456 self ._http = _http
5557 self .bot = _discord
@@ -60,10 +62,18 @@ def __init__(
6062 self .values = _json ["data" ]["values" ] if "values" in _json ["data" ] else None
6163 self ._deferred_hidden = False # To check if the patch to the deferred response matches
6264 self .guild_id = int (_json ["guild_id" ]) if "guild_id" in _json .keys () else None
65+ if self .guild and self ._author_menus_id :
66+ self .author_menus = discord .Member (data = _json ["data" ]["resolved" ]["members" ], state = self .bot ._connection , guild = self .guild )
67+ elif self .guild_id :
68+ self .author_menus = discord .User (data = _json ["data" ]["resolved" ]["user" ], state = self .bot ._connection )
69+ else :
70+ self .author_menus = None
6371 self .author_id = int (
6472 _json ["member" ]["user" ]["id" ] if "member" in _json .keys () else _json ["user" ]["id" ]
6573 )
6674 self .channel_id = int (_json ["channel_id" ])
75+ self .message_menus = _discord .get_channel (self .channel_id ).fetch_message (self ._message_menu_id )
76+ self .message_menus = model .SlashMessage (state = self .bot ._connection , channel = _discord .get_channel (self .channel_id ), data = _json ["data" ]["resolved" ]["messages" ][self ._message_menu_id ], _http = _http , interaction_token = self ._token )
6777 if self .guild :
6878 self .author = discord .Member (
6979 data = _json ["member" ], state = self .bot ._connection , guild = self .guild
@@ -74,6 +84,8 @@ def __init__(
7484 self .author = discord .User (data = _json ["user" ], state = self .bot ._connection )
7585 self .created_at : datetime .datetime = snowflake_time (int (self .interaction_id ))
7686
87+
88+
7789 @property
7890 def _deffered_hidden (self ):
7991 warn (
@@ -369,7 +381,7 @@ def __init__(
369381 super ().__init__ (_http = _http , _json = _json , _discord = _discord , logger = logger )
370382
371383 @property
372- def slash (self ) -> client .SlashCommand :
384+ def slash (self ) -> " client.SlashCommand" :
373385 """
374386 Returns the associated SlashCommand object created during Runtime.
375387
0 commit comments