Please be noted that the names of commands and the symbol before commands (!
by default) are all customizable in the configuration.ini
file.
Examples
See Current Playlist
Use !queue
(!q
):
To music: !q
(Private) botamusique: Items on the playlist:
1 (File) Vitamin String Quartet - Boulevard of Broken Dreams
2 (File) Vitamin String Quartet - Windows
3 (File) Vitamin String Quartet - My All
Add Files or Folders
Use !file {path/keyword/folder}
to add a file whose path is {path} or contains {keyword}.
Example:
To music: !file vsq/Vitamin String Quartet - Yellow (The Section).mp3
(Private) botamusique: Added Vitamin String Quartet - Yellow added by Terry.
To music: !file Yellow
(Private) botamusique: Added Vitamin String Quartet - Yellow added by Terry.
To music: !file vsq/
(Channel) botamusique: Multiple items added:
Boulevard of Broken Dreams (vsq/Vitamin String Quartet - Boulevard Of Broken Dreams.mp3)
Windows (vsq/Vitamin String Quartet - Windows (Tom Tally).mp3)
Yes (vsq/Vitamin String Quartet - Yes.mp3)
Yellow (vsq/Vitamin String Quartet - Yellow (The Section).mp3)
...
If multiple files match the {keyword}, the results will be save in a shortlist, and you can select files you want from the short list:
To music: !file Vitamin
(Private) botamusique: File not found! Possible candidates:
1 - Boulevard of Broken Dreams (vsq/Vitamin String Quartet - Boulevard Of Broken Dreams.mp3)
2 - Windows (vsq/Vitamin String Quartet - Windows (Tom Tally).mp3)
3 - My All (vsq/Vitamin String Quartet - My All.mp3)
4 - Yellow (vsq/Vitamin String Quartet - Yellow (The Section).mp3)
...
Use !sl {indexes} to play the item you want.
To music: !sl 4
(Channel) botamusique: Added Vitamin String Quartet - Yellow added by Terry.
Use !listfile {pattern}
(or !li
, !list
) to see a list of files that match regular expression or keyword {pattern}.
Then you can add that
Example:
To music: !li
(Private) botamusique: Found:
1 - Boulevard of Broken Dreams (vsq/Vitamin String Quartet - Boulevard Of Broken Dreams.mp3)
2 - Windows (vsq/Vitamin String Quartet - Windows (Tom Tally).mp3)
3 - My All (vsq/Vitamin String Quartet - My All.mp3)
4 - Yellow (vsq/Vitamin String Quartet - Yellow (The Section).mp3)
...
Use !sl {indexes} to play the item you want.
Add Music from URLs
To music: !url https://www.youtube.com/watch?v=nvrGOkaXI_I
(Private) botamusique_test: Added https://www.youtube.com/watch?v=nvrGOkaXI_I.
To music: !q
(Private) botamusique: Items on the playlist:
1 ...
2 (File) Vitamin String Quartet - Shallow
We use Youtube-dl to process URL, so multiple websites like Youtube, SoundCloud are supported. See the full list of supported sites here, but please also be noted that not all of them work.
Sometimes, Youtube would update its player. In this case, downloads will fail and you need to update your youtube-dl, or use the auto-update command !update
.
Add Youtube Playlist
Use !playlist {playlist_url}
.
Add Radio
Use !radio {radio}
.
Manage Music by Tagging
Tagging feature allows you to attach a tag to some files and add them to the playlist all at once. This can be done intuitively with the help of the web interface.
Adding tags to a song on the playlist:
To music: !q
(Private) botamusique: Items on the playlist:
1 (File) Vitamin String Quartet - Boulevard of Broken Dreams
2 (File) Vitamin String Quartet - Windows
3 (File) Vitamin String Quartet - My All
To music: !addtag 2 NewTag
(Private) botamusique: Added tags NewTag to Vitamin String Quartet - Windows.
To music: !addtag * NewTag
(Private) botamusique: Added tags NewTag to songs on the playlist.
Now you can try !q
to see that NewTag has been appended to songs.
Play all songs with tag NewTag:
To music: !tag NewTag
(Channel) botamusique_test: Multiple items added:
Vitamin String Quartet - Boulevard of Broken Dreams (NewTag)
Vitamin String Quartet - Windows (NewTag)
Vitamin String Quartet - My All (NewTag)
I don't want songs to be removed from the playlist after playing!
You can switch the playback mode to repeat
or random
by
!mode [{mode}] - get or set the playback mode, {mode} should be one of one-shot (remove item once played), repeat (looping through the playlist), random (randomize the playlist), autoplay (randomly grab something from the music library).
Commands
The underlined part is the shorthand for that command. For example, you can type !st
instead of !stop
.
Control
- !play (or !p) [{num}] - resume from pausing / start to play (the num-th song is num if given)
- !pause - pause
- !stop - stop playing
- !skip - jump to the next song
- !last - jump to the last song
- !volume {volume} - get or change the volume (from 0 to 100)
- !mode [{mode}] - get or set the playback mode, {mode} should be one of one-shot (remove item once played), repeat (looping through the playlist), random (randomize the playlist), autoplay (randomly grab something from the music library).
- !duck on/off - enable or disable ducking function
- !duckv - set the volume of the bot when ducking is activated
- !duckthres - set the threshold of volume to activate ducking (3000 by default)
- !oust - stop playing and go to default channel
- !now (or !np) - display the current song
- !queue - display items in the playlist
- !tag {tags} - add all items with tags {tags}, tags separated by ",".
- !file (or !f) {path/folder/keyword} - add a single file to the playlist by its path or keyword in its path.
- !filematch (or !fm) {pattern} - add all files that match regex {pattern}
- !url {url} - add Youtube or SoundCloud music
- !playlist {url} [{offset}] - add all items in a Youtube or SoundCloud playlist, and start with the {offset}-th item
- !radio {url} - append a radio {url} to the playlist
- !rbquery {keyword} - query http://www.radio-browser.info for a radio station
- !rbplay {id} - play a radio station with {id} (eg. !rbplay 96746)
- !ysearch {keywords} - query youtube. Use !ysearch -n to turn the page.
- !yplay {keywords} - add the first search result of {keywords} into the playlist.
- !shortlist (or !sl) {indexes/*} - add {indexes}-th item (or all items if * is given) on the shortlist.
- !rm {num} - remove the num-th song on the playlist
- !repeat [{num}] - repeat current song {num} (1 by default) times.
- !random - randomize the playlist.
- !search {keywords} - find item with {keywords} in the music library, keywords separated by space.
- !listfile [{pattern}] - display list of available files (whose paths match the regex pattern if {pattern} is given)
- !addtag [{index}] {tags} - add {tags} to {index}-th(current song if {index} is omitted) item on the playlist, tags separated by ",".
- !addtag * {tags} - add {tags} to all items on the playlist.
- !untag [{index/*}] {tags}/* - remove {tags}/all tags from {index}-th(current song if {index} is omitted) item on the playlist.
- !findtagged (or !ft) {tags} - find item with {tags} in the music library.
- !delete {index} - delete {index}-th item on the shortlist from the music library.
- !joinme {token} - join your own channel with {token}.
Admin command
- !kill - kill the bot
- !update - update the bot
- !userban {user} - ban a user
- !userunban {user} - unban a user
- !urlbanlist - list banned url
- !urlban [{url}] - ban {url} (or current item's url by default) and remove this url from the library.
- !urlunban {url} - unban {url}
- !rescan {url} - rebuild local music file cache
- !dropdatabase - clear the entire database, you will lose all settings and music library.