Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
ffc78a8814 | ||
|
|
3e88d62577 | ||
|
|
392044c658 | ||
|
|
9442a294f3 | ||
|
|
d149caafea |
@@ -1,5 +1,5 @@
|
|||||||
```fix
|
```fix
|
||||||
The Dakiny's admin team election
|
Dakiny's Clan Council election
|
||||||
```
|
```
|
||||||
Dakiny is an organization built by and for its members. We are a community of people who come together to support each other in the creation of this magical and unique experience. To sustain what we've created here, and to grow and involve into the future, we vote in our leadership every 3 months to provide an opportunity for new clan members to represent their faction of Dakiny in the Clan Council.
|
Dakiny is an organization built by and for its members. We are a community of people who come together to support each other in the creation of this magical and unique experience. To sustain what we've created here, and to grow and involve into the future, we vote in our leadership every 3 months to provide an opportunity for new clan members to represent their faction of Dakiny in the Clan Council.
|
||||||
|
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ Contains the election cycle class
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
import collections
|
import collections
|
||||||
from datetime import datetime
|
from datetime import datetime, timedelta
|
||||||
|
|
||||||
import nextcord
|
import nextcord
|
||||||
from sqlalchemy import select
|
from sqlalchemy import select
|
||||||
@@ -140,6 +140,8 @@ class ElectionCycle:
|
|||||||
await self.election_start_action()
|
await self.election_start_action()
|
||||||
elif today.date() == self.voting_start.date():
|
elif today.date() == self.voting_start.date():
|
||||||
await self.voting_start_action()
|
await self.voting_start_action()
|
||||||
|
elif (self.voting_end - timedelta(3)).date() <= today.date() < self.voting_end.date():
|
||||||
|
await self.election_reminder()
|
||||||
elif today.date() == self.voting_end.date():
|
elif today.date() == self.voting_end.date():
|
||||||
await self.voting_end_action()
|
await self.voting_end_action()
|
||||||
elif today.date() == self.highcouncil_election_start.date():
|
elif today.date() == self.highcouncil_election_start.date():
|
||||||
@@ -273,3 +275,15 @@ class ElectionCycle:
|
|||||||
ElectionInformation.ElectionCycle == get_election_cycle_name(self.config)
|
ElectionInformation.ElectionCycle == get_election_cycle_name(self.config)
|
||||||
)
|
)
|
||||||
return session.scalar(stmt)
|
return session.scalar(stmt)
|
||||||
|
|
||||||
|
async def election_reminder(self) -> None:
|
||||||
|
"""
|
||||||
|
Sends a message to general chat reminder clan about election.
|
||||||
|
"""
|
||||||
|
|
||||||
|
general: nextcord.TextChannel = self.guild.get_channel(self.config.params.general_channel_id)
|
||||||
|
|
||||||
|
message = f"Reminder to <@&{self.config.params.clan_member_role_id}>! Clan elections are happening! Head over "
|
||||||
|
message += f"to <#{self.get_election_info().ElectionChannel}> to cast your vote!"
|
||||||
|
|
||||||
|
await general.send(content=message)
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ from config import DakinyConfig
|
|||||||
from database_setup.sql_data_classes import CouncilMembers, engine
|
from database_setup.sql_data_classes import CouncilMembers, engine
|
||||||
from utils import get_election_cycle_name
|
from utils import get_election_cycle_name
|
||||||
|
|
||||||
NOMINEE_SPLITTER = "========================================================\n\n"
|
NOMINEE_SPLITTER = "========================================\n\n"
|
||||||
|
|
||||||
|
|
||||||
class NominateModal(nextcord.ui.Modal):
|
class NominateModal(nextcord.ui.Modal):
|
||||||
|
|||||||
@@ -87,3 +87,15 @@ class TestCog(commands.Cog, name="Test commands."):
|
|||||||
config: DakinyConfig = self.bot.config
|
config: DakinyConfig = self.bot.config
|
||||||
cycle = ElectionCycle(get_current_cycle(config), config, self.bot.get_guild(config.params.guild_id))
|
cycle = ElectionCycle(get_current_cycle(config), config, self.bot.get_guild(config.params.guild_id))
|
||||||
await cycle.voting_end_action()
|
await cycle.voting_end_action()
|
||||||
|
|
||||||
|
@test.subcommand()
|
||||||
|
async def election_reminder(self, interaction: nextcord.Interaction):
|
||||||
|
config: DakinyConfig = self.bot.config
|
||||||
|
cycle = ElectionCycle(get_current_cycle(config), config, self.bot.get_guild(config.params.guild_id))
|
||||||
|
await cycle.election_reminder()
|
||||||
|
|
||||||
|
@test.subcommand()
|
||||||
|
async def daily(self, interaction: nextcord.Interaction):
|
||||||
|
config: DakinyConfig = self.bot.config
|
||||||
|
cycle = ElectionCycle(get_current_cycle(config), config, self.bot.get_guild(config.params.guild_id))
|
||||||
|
await cycle.check_date()
|
||||||
|
|||||||
Reference in New Issue
Block a user