Extensions for individual queues

Hierarchy

  • IQueueExtension

Implemented by

Properties

onDequeue: ((queue: Readonly<HelpQueueV2>, student: Readonly<Helpee>) => Promise<void>)

Type declaration

    • (queue: Readonly<HelpQueueV2>, student: Readonly<Helpee>): Promise<void>
    • When a student is dequeued by a helper using /next

      Parameters

      • queue: Readonly<HelpQueueV2>

        the queue that the students just left

      • student: Readonly<Helpee>

        the newly dequeued student

      Returns Promise<void>

onEnqueue: ((queue: Readonly<HelpQueueV2>, student: Readonly<Helpee>) => Promise<void>)

Type declaration

    • (queue: Readonly<HelpQueueV2>, student: Readonly<Helpee>): Promise<void>
    • When a student joins the queue

      Parameters

      • queue: Readonly<HelpQueueV2>

        the queue that the students joined

      • student: Readonly<Helpee>

        the student that just joined

      Returns Promise<void>

onQueueClose: ((queue: Readonly<HelpQueueV2>) => Promise<void>)

Type declaration

    • (queue: Readonly<HelpQueueV2>): Promise<void>
    • When a queue closes

      Parameters

      Returns Promise<void>

onQueueCreate: ((queue: Readonly<HelpQueueV2>) => Promise<void>)

Type declaration

    • (queue: Readonly<HelpQueueV2>): Promise<void>
    • When a single queue is created

      Parameters

      Returns Promise<void>

onQueueDelete: ((deletedQueue: Readonly<HelpQueueV2>) => Promise<void>)

Type declaration

    • (deletedQueue: Readonly<HelpQueueV2>): Promise<void>
    • When a queue is deleted with /queue remove or YABOB getting kicked from a server

      Remark

      Extensions should override this method to do any necessary clean up

      Parameters

      • deletedQueue: Readonly<HelpQueueV2>

        the queue that just got deleted

      Returns Promise<void>

onQueueOpen: ((queue: Readonly<HelpQueueV2>) => Promise<void>)

Type declaration

    • (queue: Readonly<HelpQueueV2>): Promise<void>
    • When a queue opens

      Parameters

      Returns Promise<void>

onQueuePeriodicUpdate: ((queue: Readonly<HelpQueueV2>, isFirstCall: boolean) => Promise<void>)

Type declaration

    • (queue: Readonly<HelpQueueV2>, isFirstCall: boolean): Promise<void>
    • Called every hour

      Deprecated

      will likely be removed in the future, extensions should manage their own timers

      Parameters

      • queue: Readonly<HelpQueueV2>

        queue that triggered the call

      • isFirstCall: boolean

        whether this is called inside HelpQueueV2.create

      Returns Promise<void>

onQueueRender: ((queue: Readonly<HelpQueueV2>, display: Readonly<QueueDisplayV2>) => Promise<void>)

Type declaration

    • (queue: Readonly<HelpQueueV2>, display: Readonly<QueueDisplayV2>): Promise<void>
    • When a queue re-render happens

      Remark

      Extensions with custom embeds should override this method to get the display object

      Parameters

      • queue: Readonly<HelpQueueV2>

        queue that just requested a render

      • display: Readonly<QueueDisplayV2>

        the QueueDisplayV2 object that handles the rendering

      Returns Promise<void>

onRemoveAllStudents: ((queue: Readonly<HelpQueueV2>, students: readonly Helpee[]) => Promise<void>)

Type declaration

    • (queue: Readonly<HelpQueueV2>, students: readonly Helpee[]): Promise<void>
    • When clear is used

      Parameters

      • queue: Readonly<HelpQueueV2>

        queue after clearing everyone

      • students: readonly Helpee[]

        the students that just got cleared

      Returns Promise<void>

onStudentRemove: ((queue: Readonly<HelpQueueV2>, student: Readonly<Helpee>) => Promise<void>)

Type declaration

    • (queue: Readonly<HelpQueueV2>, student: Readonly<Helpee>): Promise<void>
    • When a student leaves the queue with /leave or [LEAVE]

      Parameters

      • queue: Readonly<HelpQueueV2>

        the queue that the students just left

      • student: Readonly<Helpee>

        the newly left student

      Returns Promise<void>

Generated using TypeDoc