/Forever

Forever is a music bot that plays music from different sources for Discord. For fun.

Primary LanguageJavaScript

Forever

euphoriatear

"Every time I feel good I think it'll last forever." Yes this is Zendaya's eye.

What it is

Forever is a music bot that I made for myself (Pride) for Discord. It's pretty easy to use and currently only supports YouTube. Has a neat modern design and very much unlike other old and outdated music bots. Will be adding more stuff to it, and the code is a bit messy, but it works and quite effectively.

In action and commands

Autoplay function

Forever automatically plays the next track on the queue (if there are any left), whenever the current track is over or if it is skipped. The embed also shows the current track playing, the next track up and the next 3 tracks on the queue.

foreverautoplay

/play

foreverplay

The play command plays a track given an inputted track option (can be either keywords or a link) and a source selection type (e.g. YouTube, Spotify, SoundCloud, however only YouTube is the only functional source as of now). You must be in a voice channel in order to perform this command. Additionally, the very first play command in a given channel will assign the bot to broadcast and be used only in that channel. To change this, you must use the assign command.

foreverplayaction

/skip

foreverskip

The skip command skips the track in a given position (current - queue size). You may also use the skip button to skip a track.

foreverskipaction

/queue

The queue command shows the list of all tracks on the queue.

foreverqueueaction

/leave

foreverleave

The leave command forces the bot to leave the voice channel.

/assign

foreverassign

The assign command assigns the bot to a specific channel (the channel the assign command is used in). Commands will only broadcast and work in this channel unless changed again using this command.

/progress

foreverprogress

The progress command shows the progress (percentage of download completion) of the currently downloading tracks.

foreverprogressaction

/nowplaying

forevernp

The nowplaying command shows the current track that is playing.

forevernpaction

Dependencies

discord.js, @discordjs/voice, ffmpeg-static, libsodium-wrappers, youtube-mp3-downloader (for quicker downloading speeds, replace ytdl-core in node_modules with the latest version), ytsr, ytdl-core (latest)