Skip to content

FrauJulian/Discord-Audio-Stream

Repository files navigation

Discord Audio Stream

npm GitHub package.json version GitHub Repo stars

This module is designed to work with discord.js/voice v0.18. This package doesn't support older versions!

๐Ÿ‘‹ Support

Please create an issue on github or write fraujulian on discord!

๐Ÿ“ Usage

Install

Supported package managers: npm, yarn, pnpm, bun

Recommended:

npm install discord-audio-stream @snazzah/davey @discordjs/opus
yarn add discord-audio-stream @snazzah/davey @discordjs/opus
pnpm add discord-audio-stream @snazzah/davey @discordjs/opus
bun add discord-audio-stream @snazzah/davey @discordjs/opus

You need @snazzah/davey and one of the encryption libraries to run this package!

Encryption Libraries (npm install):

You only need to install one of these libraries if your system does not support aes-256-gcm (verify by running require('node:crypto').getCiphers().includes('aes-256-gcm')).

  • sodium-native
  • sodium
  • @stablelib/xchacha20poly1305
  • @noble/ciphers
  • libsodium-wrappers

Opus Libraries (npm install):

  • @discordjs/opus
  • opusscript

FFmpeg:

  • FFmpeg (installed and added to environment)
  • ffmpeg-static

Create Instance

let audioManager = new AudioManager();

or (with parameters)

let audioManager = new AudioManager(
  {
    VoiceChannelId: 0, //voice channel id where to play music
    GuildId: 0, //guild id
    VoiceAdapter: 0, //guild VoiceAdapter
  },
  {
    ResourceType: '', //resource type like link or file
    Resource: '', //auto play link or file name
  },
);

Properties of the AudioManager

Properties

Callable with Type Description
VoiceConnection VoiceConnection VoiceConnection instance from discord.js/voice.
AudioPlayer AudioPlayer AudioPlayer instance from discord.js/voice.
AudioResource AudioResource AudioResource instance from discord.js/voice.
ConnectionData VoiceConnectionDataModel Global variable for connection data.
AudioData AudioDataModel Global variable for audio data.

Methods

Callable with Parameters Return type Description
OverrideVoiceConnectionData connectionData (type of VoiceConnectionDataModel) void Method to override global connectionData variable.
OverrideVoiceAudioDataModel audioData (type of VoiceAudioDataModel) void Method to override global audioData variable.
OverrideRenewInMs renewInMs (type of int, default value is 5400000) void Method to override global renewInMs variable.
CreateConnection isRenew (type of boolean, default value is false) void Method to join the voice connection.
PlayAudioOnConnection void Method to play audio on the existing voice connection.
PauseAudio void Method to pause the audio.
ResumeAudio void Method to resume the audio.
StopAudioOnConnection void Method to stop the audio without destroying voice connection.
CreateConnectionAndPlayAudio void Method to join the voice connection and play audio.
DestroyConnection void Method to destroy the voice connection.
Dispose void Dispose all data in object.
SetVolume volume (type of number, 0 - 100 percent) void Method to set the audio volume. Method to set the volume of the audio.
SetMaxListeners maxListeners (type of number) void Method to set the max listeners of the audio stream.
Types History

๐Ÿ“‹ Contributors:

~ FrauJulian - Julian Lechner.

๐Ÿค Enjoy the package?

Give it a star โญ on github!

About

๐Ÿ–ผ๏ธ NodeJS library to make stream any audio on discord easier.

Topics

Resources

License

Stars

Watchers

Forks

Sponsor this project

Contributors 2

  •  
  •