@koenie06/discord.js-music v1.3.0
β¨ Features
- Customizable and easy to use.
- Supports Youtube, Spotify, Soundcloud and much more..! (Watch out! Only some spotify songs are working, I am working on it..)
- Automaticly makes a server queue.
- Has been made with @discordjs/voice.
- Supports youtube playlists. (More in the future..)
π₯ Installation
Wait! Before you install, you need..
- Node.js 
- Discord.js v13+ 
After this, you can finally install the package with:
$ npm install @koenie06/discord.js-musicπ Functions
There are a lot of functions, that are probably useful to know.
Music:
- .play() - Plays the given music in the given channel.
- .stop() - Stops the music whenever it is playing.
- .skip() - Skips the current playing song.
- .pause() - Pauses the current playing song.
- .resume() - Resumes the playing song whenever it is paused.
- .repeat() - Repeats the playing song forever, until it is turned off.
- .volume() - Changes the music volume.
- .jump() - Jumps to a the given queue number song.
- .getQueue() - Returns a Array of queued songs.
- .removeQueue() - Removes the given queue song number from the queue.
Checks:
- .isConnected() - Checks whenever the bot is connected to a VC.
- .isPaused() - Checks whenever the playing song is paused.
- .isResumed() - Checks whenever the bot is playing a song.
- .isRepeated() - Checks whenever the playing song is on repeat.
Events:
- playSong - Runs whenever a new song started playing.
- addSong - Runs whenever a song has been added to the queue.
- playList - Runs whenever a new song of a playlist started playing.
- addList - Runs whenever a playlist has been added to the queue.
- finish - Runs whenever all the queued songs are played.
/* Importing all the required stuff, you should know this. */
const { Client, Intents } = require('discord.js');
const music = require('@koenie06/discord.js-music');
const client = new Client({ intents: [Intents.FLAGS.GUILDS, Intents.FLAGS.GUILD_MEMBERS, Intents.FLAGS.GUILD_VOICE_STATES] });
/* This code will run when the client receives a interaction */
client.on('interactionCreate', async (interaction) => {
    if(interaction.isCommand()) {
        if(interaction.commandName === 'play') {
            /*
             * This function requires 3 options:
             * 1) Interaction. The interaction you got from the 'interactionCreate' event.
             * 2) Channel. The Voice Channel where the music is supposed to be played in.
             * 3) Song. A song name/URL that needs to be played.
            */
           const channel = interaction.member.voice.channel;
           const song = interaction.options.getString('song');
           music.play({
               interaction: interaction,
               channel: channel,
               song: song
           });
        };
    };
});
/* Log your client in with your token. */
client.login('Client token from https://discord.com/developers/applications');/* Importing all the required stuff, you should know this. */
const { Client, Intents } = require('discord.js');
const music = require('@koenie06/discord.js-music');
const client = new Client({ intents: [Intents.FLAGS.GUILDS, Intents.FLAGS.GUILD_MEMBERS, Intents.FLAGS.GUILD_VOICE_STATES] });
/* This code will run when the client receives a interaction */
client.on('interactionCreate', async (interaction) => {
    if(interaction.isCommand()) {
        if(interaction.commandName === 'stop') music.stop({ interaction: interaction });
    };
});
/* Log your client in with your token. */
client.login('Client token from https://discord.com/developers/applications');/* Importing all the required stuff, you should know this. */
const { Client, Intents } = require('discord.js');
const music = require('@koenie06/discord.js-music');
const client = new Client({ intents: [Intents.FLAGS.GUILDS, Intents.FLAGS.GUILD_MEMBERS, Intents.FLAGS.GUILD_VOICE_STATES] });
/* This code will run when the client receives a interaction */
client.on('interactionCreate', async (interaction) => {
    if(interaction.isCommand()) {
        if(interaction.commandName === 'skip') music.skip({ interaction: interaction });
    };
});
/* Log your client in with your token. */
client.login('Client token from https://discord.com/developers/applications');/* Importing all the required stuff, you should know this. */
const { Client, Intents } = require('discord.js');
const music = require('@koenie06/discord.js-music');
const client = new Client({ intents: [Intents.FLAGS.GUILDS, Intents.FLAGS.GUILD_MEMBERS, Intents.FLAGS.GUILD_VOICE_STATES] });
/* This code will run when the client receives a interaction */
client.on('interactionCreate', async (interaction) => {
    if(interaction.isCommand()) {
        if(interaction.commandName === 'pause') music.pause({ interaction: interaction });
    };
});
/* Log your client in with your token. */
client.login('Client token from https://discord.com/developers/applications');/* Importing all the required stuff, you should know this. */
const { Client, Intents } = require('discord.js');
const music = require('@koenie06/discord.js-music');
const client = new Client({ intents: [Intents.FLAGS.GUILDS, Intents.FLAGS.GUILD_MEMBERS, Intents.FLAGS.GUILD_VOICE_STATES] });
/* This code will run when the client receives a interaction */
client.on('interactionCreate', async (interaction) => {
    if(interaction.isCommand()) {
        if(interaction.commandName === 'resume') music.resume({ interaction: interaction });
    };
});
/* Log your client in with your token. */
client.login('Client token from https://discord.com/developers/applications');/* Importing all the required stuff, you should know this. */
const { Client, Intents } = require('discord.js');
const music = require('@koenie06/discord.js-music');
const client = new Client({ intents: [Intents.FLAGS.GUILDS, Intents.FLAGS.GUILD_MEMBERS, Intents.FLAGS.GUILD_VOICE_STATES] });
/* This code will run when the client receives a interaction */
client.on('interactionCreate', async (interaction) => {
    if(interaction.isCommand()) {
        if(interaction.commandName === 'repeat') {
            /* 
             * Use 'true' to set the song on repeat.
             * Use 'false' to turn the repeat mode off when it is on.
            */
            const OnOrOff = interaction.options.getBoolean('onoff');
            music.repeat({
                interaction: interaction,
                value: onOrOff
            });
            
        };
    };
});
/* Log your client in with your token. */
client.login('Client token from https://discord.com/developers/applications');/* Importing all the required stuff, you should know this. */
const { Client, Intents } = require('discord.js');
const music = require('@koenie06/discord.js-music');
const client = new Client({ intents: [Intents.FLAGS.GUILDS, Intents.FLAGS.GUILD_MEMBERS, Intents.FLAGS.GUILD_VOICE_STATES] });
/* This code will run when the client receives a interaction */
client.on('interactionCreate', async (interaction) => {
    if(interaction.isCommand()) {
        if(interaction.commandName === 'volume') {
            
            /*
             * Volume option needs to be an Integer and can't be higher than 100.
            */
            
            const volume = interaction.options.getInteger('volume');
            
            music.volume({
                interaction: interaction,
                volume: volume
            });
        };
    };
});
/* Log your client in with your token. */
client.login('Client token from https://discord.com/developers/applications');/* Importing all the required stuff, you should know this. */
const { Client, Intents } = require('discord.js');
const music = require('@koenie06/discord.js-music');
const client = new Client({ intents: [Intents.FLAGS.GUILDS, Intents.FLAGS.GUILD_MEMBERS, Intents.FLAGS.GUILD_VOICE_STATES] });
/* This code will run when the client receives a interaction */
client.on('interactionCreate', async (interaction) => {
    if(interaction.isCommand()) {
        if(interaction.commandName === 'jump') {
            /*
             * Number option needs to be an Integer and has to be a valid queue number.
            */
            const number = interaction.options.getInteger('number');
            music.jump({
                interaction: interaction,
                number: number
            });
        };
    };
});
/* Log your client in with your token. */
client.login('Client token from https://discord.com/developers/applications');/* Importing all the required stuff, you should know this. */
const { Client, Intents } = require('discord.js');
const music = require('@koenie06/discord.js-music');
const client = new Client({ intents: [Intents.FLAGS.GUILDS, Intents.FLAGS.GUILD_MEMBERS, Intents.FLAGS.GUILD_VOICE_STATES] });
/* This code will run when the client receives a interaction */
client.on('interactionCreate', async (interaction) => {
    if(interaction.isCommand()) {
        if(interaction.commandName === 'getqueue') console.log(await(music.getQueue({ interaction: interaction })));
    };
});
/* Log your client in with your token. */
client.login('Client token from https://discord.com/developers/applications');/* Importing all the required stuff, you should know this. */
const { Client, Intents } = require('discord.js');
const music = require('@koenie06/discord.js-music');
const client = new Client({ intents: [Intents.FLAGS.GUILDS, Intents.FLAGS.GUILD_MEMBERS, Intents.FLAGS.GUILD_VOICE_STATES] });
/* This code will run when the client receives a interaction */
client.on('interactionCreate', async (interaction) => {
    if(interaction.isCommand()) {
        if(interaction.commandName === 'removequeue') {
            /*
             * Number option needs to be an Integer and has to be a valid queue number.
            */
            const number = interaction.options.getInteger('number');
            music.removeQueue({
                interaction: interaction,
                number: number 
            });
        };
    };
});
/* Log your client in with your token. */
client.login('Client token from https://discord.com/developers/applications');/* Importing all the required stuff, you should know this. */
const { Client, Intents } = require('discord.js');
const music = require('@koenie06/discord.js-music');
const client = new Client({ intents: [Intents.FLAGS.GUILDS, Intents.FLAGS.GUILD_MEMBERS, Intents.FLAGS.GUILD_VOICE_STATES] });
/* This code will run when the client receives a interaction */
client.on('interactionCreate', async (interaction) => {
    if(interaction.isCommand()) {
        if(interaction.commandName === 'isconnected') {
            /*
             * This function returns a boolean whenever it is connected or not.
             * 'true' means that it is connected to a VoiceChannel.
             * 'false' means that it isn't connected to any VoiceChannel.
            */
            const isConnected = await music.isConnected({ interaction: interaction });
    
            interaction.reply({ content: isConnected === true ? 'I am connected!' : 'Welp.. I am not connected to any channel here.' });
        };
    };
});
/* Log your client in with your token. */
client.login('Client token from https://discord.com/developers/applications');/* Importing all the required stuff, you should know this. */
const { Client, Intents } = require('discord.js');
const music = require('@koenie06/discord.js-music');
const client = new Client({ intents: [Intents.FLAGS.GUILDS, Intents.FLAGS.GUILD_MEMBERS, Intents.FLAGS.GUILD_VOICE_STATES] });
/* This code will run when the client receives a interaction */
client.on('interactionCreate', async (interaction) => {
    if(interaction.isCommand()) {
        if(interaction.commandName === 'ispaused') {
            /*
             * This function returns a boolean whenever it is paused or not.
             * 'true' means that the playing song is paused.
             * 'false' means that the playing song is still playing.
            */
            const isPaused = await music.isPaused({ interaction: interaction });
    
            interaction.reply({ content: isPaused === true ? 'I am waiting for you to resume..' : 'Yes yes, i am still playing music!' });
        };
    };
});
/* Log your client in with your token. */
client.login('Client token from https://discord.com/developers/applications');/* Importing all the required stuff, you should know this. */
const { Client, Intents } = require('discord.js');
const music = require('@koenie06/discord.js-music');
const client = new Client({ intents: [Intents.FLAGS.GUILDS, Intents.FLAGS.GUILD_MEMBERS, Intents.FLAGS.GUILD_VOICE_STATES] });
/* This code will run when the client receives a interaction */
client.on('interactionCreate', async (interaction) => {
    if(interaction.isCommand()) {
        if(interaction.commandName === 'isresumed') {
            /*
             * This function returns a boolean whenever it is resumed or not.
             * 'true' means that the playing song is still playing.
             * 'false' means that the song is paused.
            */
            const isResumed = await music.isResumed({ interaction: interaction });
    
            interaction.reply({ content: isResumed === true ? 'Ofcourse i am still playing music!' : 'Sadly enough.. I got paused.' });
        };
    };
});
/* Log your client in with your token. */
client.login('Client token from https://discord.com/developers/applications');/* Importing all the required stuff, you should know this. */
const { Client, Intents } = require('discord.js');
const music = require('@koenie06/discord.js-music');
const client = new Client({ intents: [Intents.FLAGS.GUILDS, Intents.FLAGS.GUILD_MEMBERS, Intents.FLAGS.GUILD_VOICE_STATES] });
/* This code will run when the client receives a interaction */
client.on('interactionCreate', async (interaction) => {
    if(interaction.isCommand()) {
        if(interaction.commandName === 'isrepeated') {
            /*
             * This function returns a boolean whenever it is resumed or not.
             * 'true' means that the playing song is on repeat.
             * 'false' means that the queue is just playing normally.
            */
            const isRepeated = await music.isRepeated({ interaction: interaction });
    
            interaction.reply({ content: isRepeated === true ? 'This song is in a infinite loop!' : 'Just playing the queue normally.' });
        };
    };
});
/* Log your client in with your token. */
client.login('Client token from https://discord.com/developers/applications');/* Importing all the required stuff, you should know this. */
const { Client, Intents } = require('discord.js');
const music = require('@koenie06/discord.js-music');
const events = music.event;
events.on('playSong', async (channel, songInfo, requester) => {
    /* See all the 'songInfo' options by logging it.. */
    channel.send({
        content: `Started playing the song [${songInfo.title}](${songInfo.url}) by \`${songInfo.author}\`.
        This was requested by ${requester.tag} (${requester.id})`
    });
});
events.on('addSong', async (channel, songInfo, requester) => {
    /* See all the 'songInfo' options by logging it.. */
    channel.send({
        content: `Added the song [${songInfo.title}](${songInfo.url}) by \`${songInfo.author}\` to the queue.
        Added by ${requester.tag} (${requester.id})`
    });
});
events.on('playList', async (channel, playlist, songInfo, requester) => {
    /* See all the 'songInfo' and 'playlist' options by logging it.. */
    channel.send({
        content: `Started playing the song [${songInfo.title}](${songInfo.url}) by \`${songInfo.author}\` of the playlist ${playlist.title}.
        This was requested by ${requester.tag} (${requester.id})`
    });
});
events.on('addList', async (channel, playlist, requester) => {
    /* See all the 'playlist' options by logging it.. */
    channel.send({
        content: `Added the playlist [${playlist.title}](${playlist.url}) with ${playlist.videos.length} amount of videos to the queue.
        Added by ${requester.tag} (${requester.id})`
    });
});
events.on('finish', async (channel) => {
    channel.send({
        content: 'Party has been ended!'
    });
});
/* Log your client in with your token. */
client.login('Client token from https://discord.com/developers/applications');π The End
Did you really scroll this far? Holy sh*t! Here a cookie for you, hope you have a nice day. :)
β₯ Koenie06
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago