UNPKG

detritus-client

Version:

A Typescript NodeJS library to interact with Discord's API, both Rest and Gateway.

109 lines (108 loc) 3.35 kB
/// <reference types="node" /> import { Media } from 'detritus-client-socket'; import { EventSpewer } from 'detritus-utils'; import { ShardClient } from '../client'; import { BaseCollection } from '../collections/basecollection'; import { AudioFormat } from '../utils/audioformat'; import { Channel, Guild, Member, User, VoiceState } from '../structures'; import { Opus } from './encoders'; import { MediaHandler } from './handler'; /** * Voice Connection .decode() Settings * @category Media Options */ export interface DecodeSettings { format?: string; frameDuration?: number; type?: string; } /** * Voice Connection Opus Options * @category Media Opus */ export interface OpusOptions extends Opus.AudioOpusOptions { application?: number; channels?: number; kill?: boolean; sampleRate?: number; use?: null | string; } /** * Voice Connection Opus Decoder Settings * @category Media Options */ export interface OpusDecoderSettings { application: number; channels: number; sampleRate: number; use?: null | string; } /** * Voice Connection .sendAudio() Settings * @category Media Options */ export interface SendAudioSettings { isOpus?: boolean; } /** * Voice Connection Options * @category Media Options */ export interface VoiceConnectionOptions { decodeAudio?: boolean; opusDecoder?: boolean | OpusOptions; opusEncoder?: boolean | OpusOptions; } /** * Voice Connection * @category Media */ export declare class VoiceConnection extends EventSpewer { client: ShardClient; decodeAudio: boolean; formats: { audio: AudioFormat; }; gateway: Media.Socket; handler: MediaHandler; opusDecoder: null | OpusDecoderSettings; opusDecoders: BaseCollection<string, Opus.AudioOpus>; opusEncoder: null | Opus.AudioOpus; constructor(client: ShardClient, gateway: Media.Socket, options?: VoiceConnectionOptions); get channel(): Channel | null; get channelId(): string; get guild(): Guild | null; get guildId(): null | string; get killed(): boolean; get member(): Member | null; get serverId(): string; get user(): null | User; get userId(): string; get voiceState(): null | VoiceState; decode(userId: string, data: Buffer, options?: DecodeSettings): Buffer; fetchOpusDecoder(userId: string): Opus.AudioOpus; kill(): void; sendAudio(data: Buffer, options?: SendAudioSettings): void; sendAudioSilenceFrame(): void; setDecodeAudio(value: boolean): void; setOpusDecoder(options?: boolean | OpusOptions): void; setOpusEncoder(options?: boolean | OpusOptions): void; setSpeaking(options: { delay?: number; ssrc?: number; soundshare?: boolean; voice?: boolean; }): Promise<void>; setState(options: { selfDeaf?: boolean; selfMute?: boolean; selfVideo?: boolean; }): Promise<void>; setDeaf(selfDeaf: boolean): Promise<void>; setMute(selfMute: boolean): Promise<void>; setVideo(selfVideo: boolean): Promise<void>; on(event: string | symbol, listener: (...args: any[]) => void): this; on(event: 'connect', listener: (payload: any) => any): this; on(event: 'disconnect', listener: (payload: any) => any): this; on(event: 'speaking', listener: (payload: any) => any): this; }