distube
DisTube
Section titled โDisTubeโDisTube is a comprehensive Discord music bot library built for discord.js and Oceanic, offering simplified music commands, effortless playback from diverse sources, and integrated audio filters.
๐ Key Features
Section titled โ๐ Key Featuresโ- Easy Integration: Adapters for discord.js v14 (
@distube/discordjs) and Oceanic (@distube/oceanic). - 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 YouTube, Spotify, SoundCloud, 700+ other sites and Lavalink.
- Type Safety: Written in TypeScript for a superior development experience.
๐ Resources
Section titled โ๐ Resourcesโ| Resource | Description |
|---|---|
| Learn DisTube with AI-powered assistance. | |
| Installation | Detailed requirements and setup guide. |
| API Reference | Complete technical documentation. |
| Discord Support | Join our community for help and discussion. |
๐ Quick Start
Section titled โ๐ Quick Startโnpm install distube @distube/discordjs @distube/youtube discord.js @discordjs/voiceFor Oceanic, install @distube/oceanic oceanic.js instead of @distube/discordjs discord.js.
import { DiscordJSAdapter } from "@distube/discordjs";import { YouTubePlugin } from "@distube/youtube";import { Client, GatewayIntentBits } from "discord.js";import { DisTube } from "distube";
const client = new Client({ intents: [ GatewayIntentBits.Guilds, GatewayIntentBits.GuildVoiceStates, GatewayIntentBits.GuildMessages, GatewayIntentBits.MessageContent, ],});
const distube = new DisTube({ adapter: new DiscordJSAdapter(client), plugins: [new YouTubePlugin()],});
distube.on("queue.item.started", ({ item }) => item.metadata.textChannel.send(`Playing \`${item.song.name}\` - \`${item.song.formattedDuration}\``),);
client.on("messageCreate", message => { if (message.content.startsWith("!play")) { distube .play(message.member.voice.channel, message.content.slice(6), { metadata: { textChannel: message.channel }, }) .catch(error => message.reply(error.message)); }});
client.login("TOKEN");๐ก Examples
Section titled โ๐ก Examplesโ- distubejs/example: Reference bots for discord.js and Oceanic
- DisTube - Discord Music Bot: Support Interactive Player, Music Channel, YouTube, Spotify,โฆ
๐ค Contributing
Section titled โ๐ค ContributingโContributions are welcome! Please read our Contributing Guidelines before submitting a pull request.
๐ License
Section titled โ๐ LicenseโLicensed under MIT License
