OH Queue Cog

The logic for how we handle the dequeue operation is best described by the following flow cahrt

../_images/queue_flow.png
class cogs.oh_queue.OH_Queue(client: discord.ext.commands.bot.Bot)

This cog defines the set of commands with which users can interact with the queue Note that the ctx argument that each of these methods take is given by the discord API.

async onQueueUpdate() → None

Update the persistant queue message based on _OHQueue

async enterQueue(context: Context) → None

Enters user into the OH queue. If they already are enqueued return them their position in queue

Invoked like: /eq

async leaveQueue(context: Context) → None

Removes caller from the queue

Invoked like: /lq

async dequeueStudent(context: Context) → None

Dequeue a student from the queue and notify them

Invoked like: /dq

async clearQueue(context: Context) → None

Clears all students from the queue

Invoked like: /cq