Add commands to edit username length and category pad.
This commit is contained in:
@@ -2,8 +2,10 @@
|
||||
Commands for managing the Guild's settings.
|
||||
"""
|
||||
|
||||
from nextcord.ext import commands
|
||||
from typing import Optional
|
||||
|
||||
import nextcord
|
||||
from nextcord.ext import commands
|
||||
|
||||
from highscores import highscores_data # pylint: disable=import-error
|
||||
|
||||
@@ -28,7 +30,7 @@ class SettingsManagementCog(commands.Cog, name="Settings Management"):
|
||||
async def highscore(
|
||||
self,
|
||||
interaction: nextcord.Interaction,
|
||||
channel: nextcord.abc.GuildChannel = nextcord.SlashOption(
|
||||
channel: Optional[nextcord.abc.GuildChannel] = nextcord.SlashOption(
|
||||
description="Channel to register",
|
||||
required=False,
|
||||
channel_types=[nextcord.ChannelType.text],
|
||||
@@ -55,7 +57,7 @@ class SettingsManagementCog(commands.Cog, name="Settings Management"):
|
||||
async def submission(
|
||||
self,
|
||||
interaction: nextcord.Interaction,
|
||||
channel: nextcord.abc.GuildChannel = nextcord.SlashOption(
|
||||
channel: Optional[nextcord.abc.GuildChannel] = nextcord.SlashOption(
|
||||
description="Channel to register",
|
||||
required=False,
|
||||
channel_types=[nextcord.ChannelType.text],
|
||||
@@ -82,7 +84,7 @@ class SettingsManagementCog(commands.Cog, name="Settings Management"):
|
||||
async def verify(
|
||||
self,
|
||||
interaction: nextcord.Interaction,
|
||||
channel: nextcord.abc.GuildChannel = nextcord.SlashOption(
|
||||
channel: Optional[nextcord.abc.GuildChannel] = nextcord.SlashOption(
|
||||
description="Channel to register",
|
||||
required=False,
|
||||
channel_types=[nextcord.ChannelType.text],
|
||||
@@ -105,8 +107,53 @@ class SettingsManagementCog(commands.Cog, name="Settings Management"):
|
||||
guild.verification_channel = channel_id
|
||||
highscores_data.save_guild_data(guild)
|
||||
|
||||
# @nextcord.slash_command()
|
||||
# async def set(self):
|
||||
# """
|
||||
# Parent slash command for setting settings. Never called.
|
||||
# """
|
||||
@nextcord.slash_command(default_member_permissions=nextcord.Permissions(administrator=True))
|
||||
async def set(self, interaction: nextcord.Interaction):
|
||||
"""
|
||||
Parent slash command for setting settings. Never called.
|
||||
"""
|
||||
|
||||
@set.subcommand(
|
||||
description="Set character length for a category. Can cut off usernames if is too short. Affects all categories."
|
||||
)
|
||||
async def category_pad_length(
|
||||
self,
|
||||
interaction: nextcord.Interaction,
|
||||
length: Optional[int] = nextcord.SlashOption(
|
||||
description="Number of characters.", required=True, default=25
|
||||
),
|
||||
) -> None:
|
||||
"""
|
||||
Changes guild's category pad length.
|
||||
|
||||
Args:
|
||||
interaction (nextcord.Interaction): Interaction that invoked the command
|
||||
length (int): Number of characters. Is SlashOption. Defaults to 25.
|
||||
"""
|
||||
|
||||
guild = highscores_data.get_guild(interaction.guild_id)
|
||||
guild.category_pad_length = length
|
||||
highscores_data.save_guild_data(guild)
|
||||
await interaction.response.send_message(
|
||||
f"Category pad length set to {length}", ephemeral=True
|
||||
)
|
||||
|
||||
@set.subcommand(description="Set username length. Limits all submissions to this length.")
|
||||
async def username_length(
|
||||
self,
|
||||
interaction: nextcord.Interaction,
|
||||
length: Optional[int] = nextcord.SlashOption(
|
||||
description="Number of characters.", required=True, default=12
|
||||
),
|
||||
) -> None:
|
||||
"""
|
||||
Changes guild's username length limit.
|
||||
|
||||
Args:
|
||||
interaction (nextcord.Interaction): Interaction that invoked the command
|
||||
length (int): Number of charactesr. Is SlashOption. Defaults to 12.
|
||||
"""
|
||||
guild = highscores_data.get_guild(interaction.guild_id)
|
||||
guild.username_length = length
|
||||
highscores_data.save_guild_data(guild)
|
||||
await interaction.response.send_message(f"Username length set to {length}", ephemeral=True)
|
||||
|
||||
Reference in New Issue
Block a user