fix (schedule): Add member in prep stage.

This commit is contained in:
2023-08-18 21:07:45 +03:00
parent 34f490fb7f
commit 6456dd6035

View File

@@ -527,6 +527,10 @@ class ScheduleCog(LionCog):
else: else:
# Session already exists in the slot # Session already exists in the slot
async with session.lock: async with session.lock:
smember = SessionMember(
self.bot, record, lion
)
session.members[userid] = smember
if session.prepared: if session.prepared:
session.update_status_soon() session.update_status_soon()
if (room := session.room_channel) and (mem := session.guild.get_member(userid)): if (room := session.room_channel) and (mem := session.guild.get_member(userid)):
@@ -540,6 +544,10 @@ class ScheduleCog(LionCog):
f"<uid: {userid}> in {session!r}", f"<uid: {userid}> in {session!r}",
exc_info=True exc_info=True
) )
if slot.preparing.is_set() and not session.prepared:
# Slot is preparing, but has not prepared the guild
# This *may* cause the guild to get prepared twice
await slot.prepare([session])
logger.info( logger.info(
f"Member <uid: {userid}> in <gid: {guildid}> booked scheduled sessions: " + f"Member <uid: {userid}> in <gid: {guildid}> booked scheduled sessions: " +
', '.join(map(str, slotids)) ', '.join(map(str, slotids))