This commit is contained in:
@@ -6,7 +6,7 @@ import collections
|
|||||||
from datetime import datetime, timedelta
|
from datetime import datetime, timedelta
|
||||||
|
|
||||||
import nextcord
|
import nextcord
|
||||||
from sqlalchemy import select
|
from sqlalchemy import select, true
|
||||||
from sqlalchemy.orm import Session
|
from sqlalchemy.orm import Session
|
||||||
|
|
||||||
from classes.nominate_views import NominateView
|
from classes.nominate_views import NominateView
|
||||||
@@ -276,9 +276,12 @@ class ElectionCycle:
|
|||||||
council_member.Elected = True
|
council_member.Elected = True
|
||||||
session.commit()
|
session.commit()
|
||||||
|
|
||||||
user: nextcord.Member = self.guild.get_member(user_id)
|
member: nextcord.Member = self.guild.get_member(user_id)
|
||||||
|
|
||||||
await user.add_roles(council_elect_role)
|
await member.add_roles(
|
||||||
|
council_elect_role,
|
||||||
|
reason=f"{member.display_name} has won a nomination and become a Council Elect.",
|
||||||
|
)
|
||||||
|
|
||||||
await election_thread.send(message)
|
await election_thread.send(message)
|
||||||
|
|
||||||
@@ -300,6 +303,34 @@ class ElectionCycle:
|
|||||||
|
|
||||||
self.election_over = True
|
self.election_over = True
|
||||||
|
|
||||||
|
elect_role: nextcord.Role = self.guild.get_role(
|
||||||
|
self.config.params.clan_council_elect_role_id
|
||||||
|
)
|
||||||
|
council_role: nextcord.Role = self.guild.get_role(
|
||||||
|
self.config.params.clan_council_role_id
|
||||||
|
)
|
||||||
|
|
||||||
|
# role management
|
||||||
|
with Session(engine) as session:
|
||||||
|
stmt = (
|
||||||
|
select(CouncilMembers.MemberId)
|
||||||
|
.where(
|
||||||
|
CouncilMembers.ElectionCycle == get_election_cycle_name(self.config)
|
||||||
|
)
|
||||||
|
.where(CouncilMembers.Elected == true())
|
||||||
|
)
|
||||||
|
|
||||||
|
for member_id in session.scalars(stmt):
|
||||||
|
member = self.guild.get_member(member_id)
|
||||||
|
await member.remove_roles(
|
||||||
|
elect_role,
|
||||||
|
reason=f"{member.display_name} no longer needs the elect role.",
|
||||||
|
)
|
||||||
|
await member.add_roles(
|
||||||
|
council_role,
|
||||||
|
reason=f"{member.display_name} has been elected to council.",
|
||||||
|
)
|
||||||
|
|
||||||
election_thread: nextcord.Thread = self.guild.get_thread(
|
election_thread: nextcord.Thread = self.guild.get_thread(
|
||||||
self.get_election_info().ThreadId
|
self.get_election_info().ThreadId
|
||||||
)
|
)
|
||||||
|
|||||||
Reference in New Issue
Block a user