@@ -49,17 +49,15 @@ def __init__(
4949 self ._token = _json ["token" ]
5050 self ._type = _json ["type" ] # Factor to check if its a slash command vs menus
5151 self .message = None
52- self ._message_menu_id = (
53- None if self ._type != 2 else _json ["data" ]["resolved" ]["messages" ]
54- ) # Should be set later.
55- self ._author_menus_id = None if self ._type != 1 else _json ["data" ]["resolved" ]["members" ]
52+ self .data = _json ["data" ]
53+ self ._message_menu_id = self .data ["resolved" ]["messages" ] or None # Should be set later.
54+ self ._author_menus_id = self .data ["resolved" ]["members" ] or None
5655 self .interaction_id = _json ["id" ]
5756 self ._http = _http
5857 self .bot = _discord
5958 self ._logger = logger
6059 self .deferred = False
6160 self .responded = False
62- self .data = _json ["data" ]
6361 self .values = _json ["data" ]["values" ] if "values" in _json ["data" ] else None
6462 self ._deferred_hidden = False # To check if the patch to the deferred response matches
6563 self .guild_id = int (_json ["guild_id" ]) if "guild_id" in _json .keys () else None
@@ -79,16 +77,20 @@ def __init__(
7977 _json ["member" ]["user" ]["id" ] if "member" in _json .keys () else _json ["user" ]["id" ]
8078 )
8179 self .channel_id = int (_json ["channel_id" ])
82- if self ._message_menu_id :
83- self .message_menus = model .SlashMessage (
84- state = self .bot ._connection ,
85- channel = _discord .get_channel (self .channel_id ),
86- data = _json ["data" ]["resolved" ]["messages" ][self ._message_menu_id ],
87- _http = _http ,
88- interaction_token = self ._token ,
89- )
90- else :
91- self .message_menus = None
80+ self .message_menus = None
81+ try :
82+ if self ._message_menu_id :
83+ self .message_menus = model .SlashMessage (
84+ state = self .bot ._connection ,
85+ channel = _discord .get_channel (self .channel_id ),
86+ data = _json ["data" ]["resolved" ]["messages" ][self ._message_menu_id ],
87+ _http = _http ,
88+ interaction_token = self ._token ,
89+ )
90+ else :
91+ raise KeyError
92+ except KeyError as err :
93+ return err
9294 if self .guild :
9395 self .author = discord .Member (
9496 data = _json ["member" ], state = self .bot ._connection , guild = self .guild
@@ -291,7 +293,7 @@ async def send(
291293 for file in files :
292294 file .close ()
293295 if not hidden :
294- if not self .message_menus :
296+ if self .message_menus :
295297 smsg = self .message_menus
296298 else :
297299 smsg = model .SlashMessage (
0 commit comments