Skip to content

Commit fcaaea5

Browse files
committed
Attempting to check for keys.
1 parent 1ad36e5 commit fcaaea5

File tree

1 file changed

+18
-16
lines changed

1 file changed

+18
-16
lines changed

discord_slash/context.py

Lines changed: 18 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)