""" Commands for testing. """ import nextcord from nextcord.ext import application_checks, commands from classes.election_cycle import ElectionCycle from config import DakinyConfig from utils import get_current_cycle class TestCog(commands.Cog, name="Test commands."): """ Class holds commands for testing. """ def __init__(self, bot) -> None: """ Default constructor for HelpCog class. Does nothing. """ self.bot = bot def is_me(): def predicate(interaction: nextcord.Interaction): return interaction.user.id == 206602713511886849 return application_checks.check(predicate) @nextcord.slash_command() @is_me() async def test(self, interaction: nextcord.Interaction): """ Parent slash command for help. Never called. """ @test.subcommand() async def msg_builder(self, interaction: nextcord.Interaction): """ Tests the message builder. Args: interaction (nextcord.Interaction): Interaction that invoked the command. """ cycle = ElectionCycle(0, self.bot) message = cycle.build_election_announcement() # doesn't tell discord that the message was responded to. Is a test command so I don't really care atm. for m in message: await interaction.channel.send(content=m) @test.subcommand() async def election_start(self, interaction: nextcord.Interaction): """ idc Args: interaction (nextcord.Interaction): _description_ """ config: DakinyConfig = self.bot.config cycle = ElectionCycle(get_current_cycle(config), config, self.bot.get_guild(config.params.guild_id)) await cycle.election_start_action() @test.subcommand() async def voting_start(self, interaction: nextcord.Interaction): """ tests the voting start action Args: interaction (nextcord.Interaction): _description_ """ config: DakinyConfig = self.bot.config cycle = ElectionCycle(get_current_cycle(config), config, self.bot.get_guild(config.params.guild_id)) await cycle.voting_start_action() @test.subcommand() async def voting_end(self, interaction: nextcord.Interaction): """ tests the voting start action Args: interaction (nextcord.Interaction): _description_ """ config: DakinyConfig = self.bot.config cycle = ElectionCycle(get_current_cycle(config), config, self.bot.get_guild(config.params.guild_id)) await cycle.voting_end_action()