Skip to content

Commit 156a098

Browse files
committed
prevent multiple assign
1 parent d5e92e1 commit 156a098

File tree

2 files changed

+17
-7
lines changed

2 files changed

+17
-7
lines changed

dbot.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -107,6 +107,7 @@ async def on_ready():
107107

108108
bot.ready_time = datetime.utcnow()
109109
bot.loop = asyncio.get_running_loop()
110+
bot.c_data = {}
110111

111112
if not bot.persistent_views_added:
112113
bot.add_view(PlayerQueueUI(bot, Queue))

ui/queue_admin_menu.py

Lines changed: 16 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -290,7 +290,7 @@ def __init__(self, bot, queue, parent_view):
290290
def create_options(self):
291291
options = []
292292
for i, group in enumerate(self.queue.groups):
293-
options.append(disnake.SelectOption(label=f"{i+1}. Rank {group.tier}"))
293+
options.append(disnake.SelectOption(label=f"{i + 1}. Rank {group.tier}"))
294294
if not options:
295295
options = ["No queue groups."]
296296

@@ -361,7 +361,7 @@ async def generate_menu(self, interaction) -> disnake.Embed:
361361
assigned = f"<@{self.group.assigned}>" if self.group.assigned else "No."
362362

363363
embed = create_default_embed(interaction)
364-
embed.title = f"GatesBot - Group #{self.group_num+1}"
364+
embed.title = f"GatesBot - Group #{self.group_num + 1}"
365365
locked_emoji = "🔒 Locked" if self.group.locked else "🔓 Unlocked"
366366
embed.description = (
367367
f"**Rank:** {self.group.tier_str.replace('_', '')}\n"
@@ -390,7 +390,7 @@ async def lock_group_button(self, button, inter):
390390

391391
await queue.update(self.bot, self.queue_db, serv.get_channel(self.channel_id))
392392
log.info(
393-
f"[Queue] Group #{self.group_num+1} {'locked' if st else 'unlocked'} by {inter.author}."
393+
f"[Queue] Group #{self.group_num + 1} {'locked' if st else 'unlocked'} by {inter.author}."
394394
)
395395
return await self.refresh_menu(inter)
396396

@@ -409,13 +409,20 @@ async def assign_button(self, button, inter: disnake.MessageInteraction):
409409
self.bot.mdb["player_queue"], inter.guild
410410
)
411411

412+
g = gates_data.groups[self.group_num]
413+
if g.assigned is not None:
414+
return await inter.send(
415+
"A DM is already assigned to this gate. Please assign via command if you wish to assign again.",
416+
ephemeral=True,
417+
)
418+
412419
gates_data.groups[self.group_num].assigned = who.id
413420
await gates_data.db_save(self.queue_db)
414421

415422
group = gates_data.groups[self.group_num]
416423

417424
msg = (
418-
f"Group {self.group_num+1} is yours, see above for details."
425+
f"Group {self.group_num + 1} is yours, see above for details."
419426
f" Don't forget to submit your encounter in <#798247432743551067> once ready and claim once approved!"
420427
f" Kindly note that this is a **{len(group.players)} person Rank {group.tier_str}** "
421428
f"group and adjust your encounter as needed."
@@ -433,7 +440,7 @@ async def assign_button(self, button, inter: disnake.MessageInteraction):
433440
player.member = await inter.guild.fetch_member(player.member.id)
434441

435442
embed2 = create_queue_embed(self.bot)
436-
embed2.title = f"Information for Group #{self.group_num+1}"
443+
embed2.title = f"Information for Group #{self.group_num + 1}"
437444
embed2.description = group.player_levels_str
438445
await ch.send(embed=embed2)
439446
await ch.send(
@@ -458,11 +465,13 @@ async def assign_button(self, button, inter: disnake.MessageInteraction):
458465
await self.bot.cogs["DMQueue"].update_queue()
459466

460467
log.info(
461-
f"[DM Queue] {inter.author} assigned Gate #{self.group_num+1} to {who}."
468+
f"[DM Queue] {inter.author} assigned Gate #{self.group_num + 1} to {who}."
462469
)
463470

464471
await self.refresh_menu(inter)
465-
await inter.send(f"Gate #{self.group_num+1} assigned to {who}", ephemeral=True)
472+
await inter.send(
473+
f"Gate #{self.group_num + 1} assigned to {who}", ephemeral=True
474+
)
466475

467476

468477
class DMSelector(disnake.ui.StringSelect):

0 commit comments

Comments
 (0)