aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--bot/cogs/jams.py17
1 files changed, 13 insertions, 4 deletions
diff --git a/bot/cogs/jams.py b/bot/cogs/jams.py
index 96b98e559..28a84a0c9 100644
--- a/bot/cogs/jams.py
+++ b/bot/cogs/jams.py
@@ -2,6 +2,7 @@ import logging
from discord import Member, PermissionOverwrite, utils
from discord.ext import commands
+from more_itertools import unique_everseen
from bot.constants import Roles
from bot.decorators import with_role
@@ -29,15 +30,19 @@ class CodeJams:
The first user passed will always be the team leader.
"""
+ # Ignore duplicate members
+ members = list(unique_everseen(members))
# We had a little issue during Code Jam 4 here, the greedy converter did it's job
# and ignored anything which wasn't a valid argument which left us with teams of
# two members or at some times even 1 member. This fixes that by checking that there
# are always 3 members in the members list.
if len(members) < 3:
- await ctx.send(":no_entry_sign: One of your arguments was invalid - there must be a "
- f"minimum of 3 valid members in your team. Found: {len(members)} "
- "members")
+ await ctx.send(
+ ":no_entry_sign: One of your arguments was invalid\n"
+ f"There must be a minimum of 3 valid members in your team. Found: {len(members)}"
+ " members"
+ )
return
code_jam_category = utils.get(ctx.guild.categories, name="Code Jam")
@@ -102,7 +107,11 @@ class CodeJams:
for member in members:
await member.add_roles(jammer_role)
- await ctx.send(f":ok_hand: Team created: {team_channel.mention}")
+ await ctx.send(
+ f":ok_hand: Team created: {team_channel.mention}\n"
+ f"**Team Leader:** {members[0].mention}\n"
+ f"**Team Members:** {' '.join(member.mention for member in members[1:])}"
+ )
def setup(bot):