The UberBot is fully charged with music bot goodness! A feature rich bot for playing music and only that.
-
Can play songs from many sources:
- SoundCloud links (tracks / playlists) or search queries.
- YouTube links (tracks / playlists) or search queries.
- From direct links to music files.
- Spotify can only be used for resolving links (tracks / playlists) or to query search for songs.
(no music streaming from Spotify atm)
-
Persistent playlists:
- Create as many playlist as you like.
- Automatic prevention of duplicate songs in a playlists.
- Set one playlist as a fallback auto playlist, to never stop the music!
-
Rating system:
- All songs can be rated once a day by each user.
- A downvoted song gets skipped immediately.
- If a songs rating falls below -2 it gets removed entirely.
- If a song gets upvoted it will be added to the defined auto playlist.
-
Import songs
- Import songs by uploading txt files with links or queries oer line.
- Import songs via csv file to additional define the exact title and artist of the song.
- Brings some sweet robotic voice to your server. Uses WaveNets Text-to-Speech
- Disabled in default bot, because announcing sth will pause the current song and skip it afterwards, can be activated though.
- Best to be run standalone in another instance as extra bot (Paramter to be added)
- Announces joining users with some witty voicelines
- Comments on users that dare to leave
- <prefix>say - Says everything you want it to say
- <prefix>randomfact - tells you a random fact
- <prefix>yomama - cracks a random Yo Mama joke
- <prefix>pickupline - provides you a random pickupline
+----------------------------Commands--------------------------+
| Alias: add, a |
| Usage: !add <url | query> |
| About: add a song to the current queue by url or query. |
+--------------------------------------------------------------+
| Alias: pladd |
| Usage: !pladd <pl name> <url | query> |
| About: add a song to the specified playlist by url or |
| query. |
+--------------------------------------------------------------+
| Alias: autopl, apl, auto |
| Usage: !autopl [<playlist name>|"unset"] |
| About: get or set a playlist name to be the auto playlist. |
| (playlist name to set, no parameter to get and |
| "unset" to unset). |
+--------------------------------------------------------------+
| Alias: addsongtopl, as2pl, as2p |
| Usage: !addsongtopl <playlist> |
| About: adds current song to given playlist |
+--------------------------------------------------------------+
| Alias: addqueuetopl, aq2pl, aq2p |
| Usage: !addqueuetopl <playlist> |
| About: adds queue to given playlist |
+--------------------------------------------------------------+
| Alias: clear |
| Usage: !clear |
| About: delete all songs from current queue. |
+--------------------------------------------------------------+
| Alias: pldelete |
| Usage: !pldelete <pl name> |
| About: deletes a playlist permanently. |
+--------------------------------------------------------------+
| Alias: join |
| Usage: !join |
| About: ask bot nicely to join your channel |
+--------------------------------------------------------------+
| Alias: help, ?, medic |
| Usage: !help |
| About: list all implemented commands |
+--------------------------------------------------------------+
| Alias: leave |
| Usage: !leave |
| About: leave the current voice channel. |
+--------------------------------------------------------------+
| Alias: pllist, l |
| Usage: !pllist |
| About: lists available playlists |
+--------------------------------------------------------------+
| Alias: listsongs, ls |
| Usage: !listsongs <playlist> |
| About: lists all songs of the specified playlist |
+--------------------------------------------------------------+
| Alias: plload |
| Usage: !plload <pl name> |
| About: load a playlist replacing the current queue. |
+--------------------------------------------------------------+
| Alias: loop |
| Usage: !loop [1] |
| About: toggle loop mode of the queue. |
| add 1 to loop only the current song. |
+--------------------------------------------------------------+
| Alias: plmerge, merge |
| Usage: !merge <sourcepl> <targetpl> |
| About: copies one playlist into another! |
+--------------------------------------------------------------+
| Alias: nowplaying, np |
| Usage: !nowplaying |
| About: returns first song in history (current song) |
+--------------------------------------------------------------+
| Alias: pause |
| Usage: !pause |
| About: pause current playback. |
+--------------------------------------------------------------+
| Alias: play, p |
| Usage: !play <url | query> |
| About: play a song by url or query. |
+--------------------------------------------------------------+
| Alias: playnext, pn |
| Usage: !playnext <queue position> |
| About: moves song at given position to top |
+--------------------------------------------------------------+
| Alias: preferdsrc, searchsrc, src |
| Usage: !preferdsrc [yt|sc|sp] |
| About: set a source to be the default source for all |
| searches. |
| (valid sources to set are: |
| "yt":youtube,"sc":soundcloud,"sp":spotify. |
| no parameter to get current source) |
+--------------------------------------------------------------+
| Alias: remove |
| Usage: !remove <queue number> |
| About: removes a song from the current queue. |
+--------------------------------------------------------------+
| Alias: plremove, plrm |
| Usage: !plremove <pl name> <song name> |
| About: remove given song from given playlist |
+--------------------------------------------------------------+
| Alias: plrename, rename |
| Usage: !rename <playlist> <new name> |
| About: renames given playlist |
+--------------------------------------------------------------+
| Alias: rename, renamesong, r |
| Usage: !rename <"t"|"a"> <playlist name> <song number> |
| <new name> |
| About: rename title or artist of song. |
| (first parameter "t" for title and "a" for artist.) |
+--------------------------------------------------------------+
| Alias: search |
| Usage: !search <query> |
| => "cancel" | |
| ["play"|"add"] <song number> | |
| "pladd" <pl name> <song number> |
| About: search for a song and choose from multiple results. |
+--------------------------------------------------------------+
| Alias: plsearch, pls |
| Usage: !plsearch <pl name> <song name> |
| About: search given song in given playlist |
+--------------------------------------------------------------+
| Alias: seek |
| Usage: !seek <number> |
| About: seek playback position. |
+--------------------------------------------------------------+
| Alias: showhistory, h, history |
| Usage: !showhistory |
| About: displays all songs from current history. |
+--------------------------------------------------------------+
| Alias: showqueue, q, queue |
| Usage: !showqueue |
| About: displays all songs from current queue. |
+--------------------------------------------------------------+
| Alias: shuffle |
| Usage: !shuffle |
| About: shuffle the current queue. |
+--------------------------------------------------------------+
| Alias: skip, s |
| Usage: !skip |
| About: skip current song. |
+--------------------------------------------------------------+
| Alias: start |
| Usage: !start <pl name> |
| About: loads a playlist shuffles it and starts playing. |
+--------------------------------------------------------------+
| Alias: stop |
| Usage: !stop |
| About: stop current playback. |
+--------------------------------------------------------------+
| Alias: upload |
| Usage: !upload [<playlist name>] |
| => attach file to the message |
| txt files with a query each row or csv files with 3 |
| columns per row <query>;<artist>;<title> |
| About: add a songs from a file to the queue or to a |
| playlist. |
+--------------------------------------------------------------+
| Alias: volume, vol, v |
| Usage: !volume <number> |
| About: sets volume, or returns volume if no parameter given |
+--------------------------------------------------------------+
- Install node (with npm >= 10) and mongodb on the host computer.
- Install git
- Run
npm install
in the project directory.
(On Windows you may need to install windows build tools first:npm install -g windows-build-tools
) - Copy the
settings.example.json
and rename it tosettings.json
- Open
settings.json
and replace the dummy values with your actual credentials:
discord bot token, YouTube API key, SoundCloud client id and Spotify client id and secret. - Run
npm run start
in the project directory. - Enjoy your amazing bot!
Works great with heroku (free).
The settings and credentials can be set via heroku environment variables.
We recommend to host the DB on an external server like MongoDB Cloud (free).
Add the mongoDB url, username and password to your setting.json