Improve the output by adding an initial message and group numbers
This commit is contained in:
parent
edff25bafd
commit
8b1fa9b1fc
1 changed files with 22 additions and 2 deletions
24
matchy.py
24
matchy.py
|
@ -19,6 +19,23 @@ def find_role_by_name(roles: list[discord.Role], name: str) -> discord.Role:
|
||||||
break
|
break
|
||||||
return role
|
return role
|
||||||
|
|
||||||
|
# Get the ordinal for an int
|
||||||
|
def get_ordinal(num : int):
|
||||||
|
if num > 9:
|
||||||
|
secondToLastDigit = str(num)[-2]
|
||||||
|
if secondToLastDigit == '1':
|
||||||
|
return str(num)+'th'
|
||||||
|
lastDigit = num % 10
|
||||||
|
if (lastDigit == 1):
|
||||||
|
return str(num)+'st'
|
||||||
|
elif (lastDigit == 2):
|
||||||
|
return str(num)+'nd'
|
||||||
|
elif (lastDigit == 3):
|
||||||
|
return str(num)+'rd'
|
||||||
|
else:
|
||||||
|
return str(num)+'th'
|
||||||
|
|
||||||
|
|
||||||
@bot.event
|
@bot.event
|
||||||
async def on_ready():
|
async def on_ready():
|
||||||
try:
|
try:
|
||||||
|
@ -43,6 +60,9 @@ async def match(interaction: discord.Interaction, per_group: int):
|
||||||
if matcher not in interaction.user.roles:
|
if matcher not in interaction.user.roles:
|
||||||
await interaction.response.send_message(f"You'll need the {matcher.mention} role to do this, sorry!", ephemeral=True)
|
await interaction.response.send_message(f"You'll need the {matcher.mention} role to do this, sorry!", ephemeral=True)
|
||||||
return
|
return
|
||||||
|
|
||||||
|
|
||||||
|
await interaction.channel.send(f"{interaction.user.display_name} asked me to match groups of {per_group}! :partying_face:")
|
||||||
|
|
||||||
# Find all the members in the role
|
# Find all the members in the role
|
||||||
matchies = []
|
matchies = []
|
||||||
|
@ -62,9 +82,9 @@ async def match(interaction: discord.Interaction, per_group: int):
|
||||||
|
|
||||||
# Split members into groups and share them
|
# Split members into groups and share them
|
||||||
groups = [matchies[i::num_groups] for i in range(num_groups)]
|
groups = [matchies[i::num_groups] for i in range(num_groups)]
|
||||||
for group in groups:
|
for idx, group in enumerate(groups):
|
||||||
mentions = [m.mention for m in group]
|
mentions = [m.mention for m in group]
|
||||||
await interaction.channel.send("Group : " + ", ".join(mentions))
|
await interaction.channel.send(f"{get_ordinal(idx+1)} group: " + ", ".join(mentions))
|
||||||
|
|
||||||
await interaction.response.send_message("Done :)", ephemeral=True, silent=True)
|
await interaction.response.send_message("Done :)", ephemeral=True, silent=True)
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue