Fix nick assignment logic in chan command; ensure proper handling of guild owner and use random.sample for unique nicks
All checks were successful
Push Docker image / build (push) Successful in 5m11s
All checks were successful
Push Docker image / build (push) Successful in 5m11s
This commit is contained in:
parent
c4205dbaf6
commit
08a9566476
1 changed files with 6 additions and 4 deletions
|
|
@ -54,18 +54,20 @@ class NickBot:
|
||||||
await ctx.defer()
|
await ctx.defer()
|
||||||
|
|
||||||
members = ctx.guild.members
|
members = ctx.guild.members
|
||||||
members.remove(ctx.guild.owner)
|
|
||||||
|
|
||||||
nicks = (await file.read()).decode().splitlines()
|
nicks = (await file.read()).decode().splitlines()
|
||||||
if len(nicks) < len(members):
|
if len(nicks) < len(members):
|
||||||
await ctx.respond("ERRE CHAN", ephemeral=True, delete_after=30)
|
await ctx.respond("ERRE CHAN", ephemeral=True, delete_after=30)
|
||||||
return
|
return
|
||||||
|
|
||||||
nicks = random.choices(nicks, k=len(members))
|
nicks = random.sample(nicks, k=len(members))
|
||||||
for member, nick in zip(members, nicks):
|
members.remove(ctx.guild.owner)
|
||||||
logger.info(member, nick)
|
for member, nick in zip(members, nicks[:-1]):
|
||||||
|
logger.info(f"{member} {nick}")
|
||||||
await member.edit(nick=nick)
|
await member.edit(nick=nick)
|
||||||
|
|
||||||
|
nicks[-1] = f"**{nicks[-1]}**"
|
||||||
|
|
||||||
embed = discord.Embed(
|
embed = discord.Embed(
|
||||||
title="CHAN", description="\n".join(nicks), color=discord.Colour.green()
|
title="CHAN", description="\n".join(nicks), color=discord.Colour.green()
|
||||||
)
|
)
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue