discord-audio-stream
Version:
Node library to make discord audio streaming easier.
71 lines (62 loc) • 2.42 kB
TypeScript
import { DiscordGatewayAdapterCreator, VoiceConnection, AudioPlayer, AudioResource } from '@discordjs/voice';
interface VoiceAudioDataModel {
/**
* The unique identifier for the audio resource.
*/
ResourceType: "Link" | "File";
/**
* The URL or file path of the audio resource.
* any is to be assumed to require(filepath)
*/
Resource: string | any;
}
interface VoiceConnectionDataModel {
/**
* The ID of the voice channel to connect to.
*/
VoiceChannelId: number;
/**
* The Id of the guild (server) to connect to.
*/
GuildId: number;
/**
* The adapter creator for the voice connection.
* Can be archived by the guild instance via the voiceAdapterCreator property.
*/
VoiceAdapter: DiscordGatewayAdapterCreator;
}
interface IAudioManager {
OverrideOptions(connectionData?: VoiceConnectionDataModel | null, audioData?: VoiceAudioDataModel | null): void;
CreateConnection(isRenew: boolean): void;
PlayAudioOnConnection(): void;
PauseAudio(): void;
ResumeAudio(): void;
StopAudioOnConnection(): void;
CreateConnectionAndPlayAudio(): void;
DestroyConnection(resetValidationParameters: boolean): void;
SetVolume(volumeInPercent: number): void;
SetMaxListeners(maxListeners: number): void;
}
declare class AudioManager implements IAudioManager {
VoiceConnection: VoiceConnection | null;
AudioPlayer: AudioPlayer | null;
AudioResource: AudioResource | null;
IsActive: boolean;
IsAudioPlaying: boolean;
ConnectionData: VoiceConnectionDataModel | null;
AudioData: VoiceAudioDataModel | null;
constructor(connectionData?: VoiceConnectionDataModel | null, audioData?: VoiceAudioDataModel | null);
OverrideOptions(connectionData?: VoiceConnectionDataModel | null, audioData?: VoiceAudioDataModel | null): void;
CreateConnection(isRenew?: boolean): void;
PlayAudioOnConnection(): void;
StopAudioOnConnection(): void;
PauseAudio(): void;
ResumeAudio(): void;
CreateConnectionAndPlayAudio(): void;
DestroyConnection(resetValidationParameters?: boolean): void;
SetMaxListeners(maxListeners: number): void;
SetVolume(volumeInPercent: number): void;
private RenewConnectionAndAudio;
private CheckIfNull;
}
export { AudioManager, type VoiceAudioDataModel, type VoiceConnectionDataModel };