async def _transform_arguments( self, interaction: discord.Interaction, namespace: app_commands.Namespace) -> Dict[str, Any]: values = namespace.__dict__ transformed_values = {} for param in self._params.values(): try: value = values[param.display_name] except KeyError: if not param.required: if isinstance(param.default, _CallableDefault): transformed_values[param.name] = await maybe_coroutine( param.default.func, interaction._baton) else: transformed_values[param.name] = param.default else: raise app_commands.CommandSignatureMismatch(self) from None else: transformed_values[param.name] = await param.transform( interaction, value) if self.flag_converter is not None: param_name, flag_cls = self.flag_converter flag = flag_cls.__new__(flag_cls) for f in flag_cls.__commands_flags__.values(): try: value = transformed_values.pop(f.attribute) except KeyError: raise app_commands.CommandSignatureMismatch(self) from None else: setattr(flag, f.attribute, value) transformed_values[param_name] = flag return transformed_values
async def _transform_arguments( self, interaction: discord.Interaction, namespace: app_commands.Namespace) -> Dict[str, Any]: values = namespace.__dict__ transformed_values = {} for param in self._params.values(): try: value = values[param.display_name] except KeyError: if not param.required: if isinstance(param.default, _CallableDefault): transformed_values[param.name] = await maybe_coroutine( param.default.func, interaction._baton) else: transformed_values[param.name] = param.default else: raise app_commands.CommandSignatureMismatch(self) from None else: transformed_values[param.name] = await param.transform( interaction, value) return transformed_values