@@ -1530,26 +1530,27 @@ def _cache_sync_response(self, sync_response: list[dict], scope: "Snowflake_Type
15301530 command_id = Snowflake (cmd_data ["id" ])
15311531 command_name = cmd_data ["name" ]
15321532
1533- if command := self .interactions_by_scope [scope ].get (command_name ):
1534- command .cmd_id [scope ] = command_id
1535- self ._interaction_lookup [command .resolved_name ] = command
1536- continue
1537- else :
1538- for subcommand in cmd_data .get ("options" , []):
1539- if subcommand ["type" ] in (
1540- OptionType .SUB_COMMAND ,
1541- OptionType .SUB_COMMAND_GROUP ,
1542- ):
1543- subcommand_name = f"{ command_name } { subcommand ['name' ]} "
1544- if subcommand ["type" ] == OptionType .SUB_COMMAND_GROUP :
1545- for _sc in subcommand .get ("options" , []):
1546- subcommand_name = f"{ subcommand_name } { _sc ['name' ]} "
1547- if command := self .interactions_by_scope [scope ].get (subcommand_name ):
1533+ if any (
1534+ option ["type" ] in (OptionType .SUB_COMMAND , OptionType .SUB_COMMAND_GROUP )
1535+ for option in cmd_data .get ("options" , [])
1536+ ):
1537+ for option in cmd_data .get ("options" , []):
1538+ if option ["type" ] in (OptionType .SUB_COMMAND , OptionType .SUB_COMMAND_GROUP ):
1539+ command_name = f"{ command_name } { option ['name' ]} "
1540+ if option ["type" ] == OptionType .SUB_COMMAND_GROUP :
1541+ for _sc in option .get ("options" , []):
1542+ command_name = f"{ command_name } { _sc ['name' ]} "
1543+ if command := self .interactions_by_scope [scope ].get (command_name ):
15481544 command .cmd_id [scope ] = command_id
15491545 self ._interaction_lookup [command .resolved_name ] = command
1550- elif command := self .interactions_by_scope [scope ].get (subcommand_name ):
1546+ elif command := self .interactions_by_scope [scope ].get (command_name ):
15511547 command .cmd_id [scope ] = command_id
15521548 self ._interaction_lookup [command .resolved_name ] = command
1549+ continue
1550+ elif command := self .interactions_by_scope [scope ].get (command_name ):
1551+ command .cmd_id [scope ] = command_id
1552+ self ._interaction_lookup [command .resolved_name ] = command
1553+ continue
15531554
15541555 async def get_context (self , data : dict ) -> InteractionContext :
15551556 match data ["type" ]:
0 commit comments