Fixed autocompletes #150
This commit is contained in:
@@ -93,6 +93,11 @@ class LevelGroup(DiscordCommandABC):
|
||||
self._logger.error(__name__, f'Level seeding failed', e)
|
||||
await self._message_service.send_channel_message(channel, self._t.transform('modules.level.seeding_failed'))
|
||||
|
||||
async def _level_auto_complete(self, interaction: discord.Interaction, current: str) -> TList[app_commands.Choice[str]]:
|
||||
server = self._servers.get_server_by_discord_id(interaction.guild.id)
|
||||
levels = self._levels.get_levels_by_server_id(server.server_id).select(lambda l: l.name)
|
||||
return [app_commands.Choice(name=level, value=level) for level in self._client_utils.get_auto_complete_list(levels, current)]
|
||||
|
||||
@commands.hybrid_group()
|
||||
@commands.guild_only()
|
||||
async def level(self, ctx: Context):
|
||||
@@ -240,9 +245,7 @@ class LevelGroup(DiscordCommandABC):
|
||||
|
||||
@edit.autocomplete('level')
|
||||
async def edit_autocomplete(self, interaction: discord.Interaction, current: str) -> TList[app_commands.Choice[str]]:
|
||||
server = self._servers.get_server_by_discord_id(interaction.guild.id)
|
||||
levels = self._levels.get_levels_by_server_id(server.server_id).select(lambda l: l.name)
|
||||
return [app_commands.Choice(name=level, value=level) for level in levels]
|
||||
return await self._level_auto_complete(interaction, current)
|
||||
|
||||
@edit.autocomplete('color')
|
||||
async def edit_color_autocomplete(self, interaction: discord.Interaction, current: str) -> TList[app_commands.Choice[str]]:
|
||||
@@ -283,9 +286,7 @@ class LevelGroup(DiscordCommandABC):
|
||||
|
||||
@remove.autocomplete('level')
|
||||
async def remove_autocomplete(self, interaction: discord.Interaction, current: str) -> TList[app_commands.Choice[str]]:
|
||||
server = self._servers.get_server_by_discord_id(interaction.guild.id)
|
||||
levels = self._levels.get_levels_by_server_id(server.server_id).select(lambda l: l.name)
|
||||
return [app_commands.Choice(name=level, value=level) for level in levels]
|
||||
return await self._level_auto_complete(interaction, current)
|
||||
|
||||
@level.command()
|
||||
@commands.guild_only()
|
||||
@@ -392,6 +393,4 @@ class LevelGroup(DiscordCommandABC):
|
||||
|
||||
@set.autocomplete('level')
|
||||
async def set_autocomplete(self, interaction: discord.Interaction, current: str) -> TList[app_commands.Choice[str]]:
|
||||
server = self._servers.get_server_by_discord_id(interaction.guild.id)
|
||||
levels = self._levels.get_levels_by_server_id(server.server_id).select(lambda l: l.name)
|
||||
return [app_commands.Choice(name=level, value=level) for level in levels]
|
||||
return await self._level_auto_complete(interaction, current)
|
||||
|
Reference in New Issue
Block a user