Server Level Extension

Hierarchy

  • IServerExtension

Implemented by

Properties

loadExternalServerData: ((serverId: string) => Promise<Optional<ServerBackup>>)

Type declaration

    • (serverId: string): Promise<Optional<ServerBackup>>
    • When the server asks for external backup data. Called inside AttendingServerV2.create

      Returns

      Optional backup. If no extension provides backups, start fresh

      Parameters

      • serverId: string

        the guild id

      Returns Promise<Optional<ServerBackup>>

onAllQueuesInit: ((server: Readonly<AttendingServerV2>, allQueues: readonly HelpQueueV2[]) => Promise<void>)

Type declaration

onDequeueFirst: ((server: Readonly<AttendingServerV2>, dequeuedStudent: Readonly<Helpee>) => Promise<void>)

Type declaration

    • (server: Readonly<AttendingServerV2>, dequeuedStudent: Readonly<Helpee>): Promise<void>
    • When a student is dequeued

      Parameters

      • server: Readonly<AttendingServerV2>

        which server is this student from

      • dequeuedStudent: Readonly<Helpee>

        the newly dequeued student

      Returns Promise<void>

onHelperStartHelping: ((server: Readonly<AttendingServerV2>, helper: Readonly<Omit<Helper, "helpEnd">>) => Promise<void>)

Type declaration

    • (server: Readonly<AttendingServerV2>, helper: Readonly<Omit<Helper, "helpEnd">>): Promise<void>
    • When a helper starts helping. Called after /start

      Parameters

      • server: Readonly<AttendingServerV2>

        which server is this helper from

      • helper: Readonly<Omit<Helper, "helpEnd">>

        the helper that used start

      Returns Promise<void>

onHelperStopHelping: ((server: Readonly<AttendingServerV2>, helper: Readonly<Required<Helper>>) => Promise<void>)

Type declaration

    • (server: Readonly<AttendingServerV2>, helper: Readonly<Required<Helper>>): Promise<void>
    • When a helper stops helping. Called after /stop

      Parameters

      • server: Readonly<AttendingServerV2>

        which server is this helper from

      • helper: Readonly<Required<Helper>>

        the helper that used stop

      Returns Promise<void>

onServerDelete: ((server: Readonly<AttendingServerV2>) => Promise<void>)

Type declaration

    • (server: Readonly<AttendingServerV2>): Promise<void>
    • When YABOB is kicked from a server. Extensions should override this method to do any necessary cleanup

      Parameters

      Returns Promise<void>

onServerInitSuccess: ((server: Readonly<AttendingServerV2>) => Promise<void>)

Type declaration

    • (server: Readonly<AttendingServerV2>): Promise<void>
    • When a server instance is successfully created

      Parameters

      Returns Promise<void>

onServerPeriodicUpdate: ((server: Readonly<AttendingServerV2>, isFirstCall: boolean) => Promise<void>)

Type declaration

    • (server: Readonly<AttendingServerV2>, isFirstCall: boolean): Promise<void>
    • Called every 15 minutes

      Deprecated

      will likely be removed in the future

      Parameters

      • server: Readonly<AttendingServerV2>

        the object

      • isFirstCall: boolean

        whether this is called inside server init

      Returns Promise<void>

onServerRequestBackup: ((server: Readonly<AttendingServerV2>) => Promise<void>)

Type declaration

    • (server: Readonly<AttendingServerV2>): Promise<void>
    • When the server requests backups. Currently, only queue related changes will trigger this call

      Parameters

      Returns Promise<void>

onStudentJoinVC: ((server: Readonly<AttendingServerV2>, studentMember: GuildMember, voiceChannel: VoiceChannel) => Promise<void>)

Type declaration

    • (server: Readonly<AttendingServerV2>, studentMember: GuildMember, voiceChannel: VoiceChannel): Promise<void>
    • When a student that just dequeued joins the voice channel

      Parameters

      • server: Readonly<AttendingServerV2>

        which server is this student from

      • studentMember: GuildMember

        the student guild member object

      • voiceChannel: VoiceChannel

        non-null voice channel

      Returns Promise<void>

onStudentLeaveVC: ((server: Readonly<AttendingServerV2>, studentMember: GuildMember) => Promise<void>)

Type declaration

    • (server: Readonly<AttendingServerV2>, studentMember: GuildMember): Promise<void>
    • When a student finishes receiving help and leaves the voice channel

      Parameters

      • server: Readonly<AttendingServerV2>

        which server is this student from

      • studentMember: GuildMember

        the student guild member object

      Returns Promise<void>

Generated using TypeDoc