Skip to content

Commit 826aee6

Browse files
committed
Add vut_check command
1 parent e648663 commit 826aee6

2 files changed

Lines changed: 52 additions & 15 deletions

File tree

cogs/fitwide/cog.py

Lines changed: 51 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -144,23 +144,59 @@ async def mit_check(self, inter: disnake.ApplicationCommandInteraction, p_debug:
144144
source_year = source_role.name
145145
target_year = target_role.name
146146
target_ids = [member.id for member in target_members]
147-
if (
148-
# presun bakalaru do 1MIT
149-
"BIT" in source_year and target_year == "1MIT"
150-
):
151-
await message.reply(
152-
MessagesCZ.role_check_move(
153-
people_count=len(target_members), target_year=target_year, source_year=source_year
154-
)
147+
if not ("BIT" in source_year and target_year == "1MIT"):
148+
continue
149+
# presun bakalaru do 1MIT
150+
await message.reply(
151+
MessagesCZ.role_check_move(
152+
people_count=len(target_members), target_year=target_year, source_year=source_year
155153
)
156-
await features.send_masstag_messages(inter, "", target_ids)
157-
if p_debug:
158-
await message.reply(MessagesCZ.role_check_debug_mode)
159-
continue
154+
)
155+
await features.send_masstag_messages(inter, "", target_ids)
156+
if p_debug:
157+
await message.reply(MessagesCZ.role_check_debug_mode)
158+
continue
160159

161-
for member in target_members:
162-
await member.add_roles(target_role)
163-
await member.remove_roles(source_role)
160+
for member in target_members:
161+
await member.add_roles(target_role)
162+
await member.remove_roles(source_role)
163+
164+
await message.reply(MessagesCZ.role_check_end)
165+
166+
@cooldowns.default_cooldown
167+
@PermissionsCheck.is_bot_admin()
168+
@PermissionsCheck.is_in_modroom()
169+
@commands.slash_command(name="vut_check", description=MessagesCZ.vut_check_brief)
170+
async def vut_check(self, inter: disnake.ApplicationCommandInteraction, p_debug: bool = True):
171+
await inter.send(MessagesCZ.role_check_start)
172+
message = await inter.original_response()
173+
guild = inter.guild
174+
175+
unmatching_members = await features.get_members_with_unmatching_year(guild)
176+
177+
for source_role, target_data in unmatching_members.items():
178+
for target_role, target_members in target_data.items():
179+
if len(target_members) == 0:
180+
continue
181+
source_year = source_role.name
182+
target_year = target_role.name
183+
target_ids = [member.id for member in target_members]
184+
if source_year != "VUT" and target_year != "VUT":
185+
continue
186+
# presun z/do VUT role
187+
await message.reply(
188+
MessagesCZ.role_check_move(
189+
people_count=len(target_members), target_year=target_year, source_year=source_year
190+
)
191+
)
192+
await features.send_masstag_messages(inter, "", target_ids)
193+
if p_debug:
194+
await message.reply(MessagesCZ.role_check_debug_mode)
195+
continue
196+
197+
for member in target_members:
198+
await member.add_roles(target_role)
199+
await member.remove_roles(source_role)
164200

165201
await message.reply(MessagesCZ.role_check_end)
166202

cogs/fitwide/messages_cz.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ class MessagesCZ(GlobalMessages):
1515
zapis_check_brief = "Zkontroluje ročníkové role uživatelům, jestli se nezapoměli zapsat do dalšího ročníku"
1616
zapis_check_found = "Vypadá, že do dalšího ročníku se nezapsali (protoze v API maji {target_year}): "
1717
mit_check_brief = "Zkontroluje uživatele, jestli se nezapsali na MIT studium"
18+
vut_check_brief = "Zkontroluje uživatele, jestli se nezapsali na/z VUT studium/a"
1819
exstudent_check_brief = "zkontroluje uživatelům, jestli nedropnuli"
1920
role_check_brief = "zkontroluje ročníkové role uživatelům"
2021
role_check_start = "Kontrola uživatelů ..."

0 commit comments

Comments
 (0)