UNPKG

leref.ts

Version:

Something upcoming for aoi.js and npm packages uses

129 lines (128 loc) 3.56 kB
import { Filters } from "./filters"; import { NodeStats } from "./typings"; import { OpCodes, OpIncoming, EventTypes } from "./constants"; export interface VoiceServerUpdate { op: 0; s: number; t: "VOICE_SERVER_UPDATE"; d: { token: string; guild_id: string; endpoint: string; }; } export interface VoiceStateUpdate { op: 0; s: number; t: "VOICE_STATE_UPDATE"; d: { guild_id: string; channel_id?: string; user_id: string; session_id: string; deaf: boolean; mute: boolean; self_deaf: boolean; self_mute: boolean; self_stream?: boolean; self_video: boolean; suppress: boolean; request_to_speak_timestamp?: number; }; } export interface OutgoingPayload { op: OpCodes; guildId: string; } export declare type OutgoingPayloads = VoiceUpdatePayload | PlayPayload | StopPayload | PausePayload | SeekPayload | VolumePayload | FiltersPayload | DestroyPayload | ConfigResumePayload; export interface VoiceUpdatePayload extends OutgoingPayload { op: OpCodes.VoiceUpdate; event: VoiceServerUpdate["d"]; sessionId: string; } export interface PlayPayload extends OutgoingPayload { op: OpCodes.Play; track: string; startTime?: number; endTime?: number; volume?: number; noReplace?: boolean; pause?: boolean; } export interface StopPayload extends OutgoingPayload { op: OpCodes.Stop; } export interface PausePayload extends OutgoingPayload { op: OpCodes.Pause; pause: boolean; } export interface SeekPayload extends OutgoingPayload { op: OpCodes.Seek; position: number; } export interface VolumePayload extends OutgoingPayload { op: OpCodes.Volume; volume: number; } export interface FiltersPayload extends OutgoingPayload, Filters { op: OpCodes.Filters; } export interface DestroyPayload extends OutgoingPayload { op: OpCodes.Destroy; } export interface ConfigResumePayload { op: OpCodes.ConfigResume; key: string; timeout: number; } export interface IncomingPayload { op: OpIncoming; } export declare type IncomingPayloads = PlayerUpdatePayload | StatsPayload | EventPayloads; export interface PlayerUpdatePayload extends IncomingPayload { op: OpIncoming.PlayerUpdate; guildId: string; state: { time: number; position: number; connected: boolean; }; } export interface StatsPayload extends IncomingPayload, NodeStats { op: OpIncoming.Stats; } export interface EventPayload extends IncomingPayload { op: OpIncoming.Event; type: EventTypes; guildId: string; } export declare type EventPayloads = TrackStartPayload | TrackEndPayload | TrackExceptionPayload | TrackStuckPayload | WebSocketClosedPayload; export interface TrackStartPayload extends EventPayload { type: EventTypes.TrackStart; track: string; } export interface TrackEndPayload extends EventPayload { type: EventTypes.TrackEnd; track: string; reason: string; } export interface TrackExceptionPayload extends EventPayload { type: EventTypes.TrackException; track: string; exception: { message: string; severity: string; cause: string; }; } export interface TrackStuckPayload extends EventPayload { type: EventTypes.TrackStuck; track: string; thresholdMs: number; } export interface WebSocketClosedPayload extends EventPayload { type: EventTypes.WebSocketClosed; code: number; reason: string; byRemote: boolean; }