A fork of DisTube!
This fork is mainly used for ChadMusic, but can be used for your project if you like. It adds support for multiple filters with interchangable values during playback. All arguments for each provided filter can be changed at anytime, and static filters will no longer need to be provided when initializing the client.
The following has been changed:
FilterManager
- Live streams are refreshed when filters are applied.
add()
,remove()
, andhas()
have been removed. Instead,set()
manages all filters within the manager.set()
parameters and types are as followed:set(filterName: string | undefined, filterValue: string | undefined) => Filter[]
filterName
is the name of the filter. Providing anull
value removes all active filters.filterValue
is the ffmpeg argument to provide to the filter. Providing anull
value removes the specified filter.
- lodash has been added as a dependency.
Warning
I will only be providing support for the functionality that was altered or added in this fork. For all other issues pertaining to DisTube, please create an issue in the main repository instead.
...and now for something completely different.
DisTube is a comprehensive Discord music bot library built for Discord.js, offering simplified music commands, effortless playback from diverse sources, and integrated audio filters.
- Easy Integration: Built on top of discord.js v14 and @discordjs/voice
- Voice Management: Robust handling of voice connections and queue management
- Audio Filters: Built-in filters (bassboost, echo, karaoke, etc.) and custom filter support
- Plugin System: Extensible architecture supporting various music sources through plugins
- Type Safety: Written in TypeScript for better development experience
- Active Community: Join our Discord Support Server for help
- Node.js 18.17.0 or higher
- discord.js v14
- @discordjs/voice
- @discordjs/opus
- FFmpeg
Note
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')
).
npm install distube @discordjs/voice @discordjs/opus
For FFmpeg installation:
Note
Alternative FFmpeg builds available here
- API Documentation - Detailed API reference
- DisTube Guide - Step-by-step guide for beginners
- Plugin List - Available plugins for music sources
Contributions are welcome! Please read our Contributing Guidelines before submitting a pull request.
Licensed under MIT License