|
@@ -1,7 +1,7 @@
|
|
|
# Viki
|
|
|
Viki is a bot focused mainly on music streaming. Specifically, streaming from a `beets` music library on the docker host on which the `viki` container is run. Yes, this is a very specific, narrow use case.
|
|
|
|
|
|
-## Usage
|
|
|
+## Deployment
|
|
|
To get this running on your server, other than the normal creation of a bot user stuff on the discord, side, do the following:
|
|
|
- create `src/config.json` and add:
|
|
|
- `"token"`, your bot's token
|
|
@@ -16,6 +16,43 @@ To get this running on your server, other than the normal creation of a bot user
|
|
|
- ensure the version of `beets` to be installed is equal or at least compatible with the host's
|
|
|
- run `docker-compose up --build -d` to run the bot
|
|
|
|
|
|
+## Usage
|
|
|
+The bot recognizes commands sent by non-bot users, prepended with the `prefix` character set in the `config.json`. Below is a list of commands the bot recognizes.
|
|
|
+- `ping`
|
|
|
+ - responds to the commands with the one-way and round-trip latency for the bot
|
|
|
+ - e.g. `!ping`
|
|
|
+- `join channelname`
|
|
|
+ - Joins the voice channel named `channelname`
|
|
|
+ - e.g. `!join General`
|
|
|
+- `leave channelname`
|
|
|
+ - Leaves the voice channel named `channelname`
|
|
|
+ - e.g. `!leave General`
|
|
|
+- `price type weapon`
|
|
|
+ - Returns riven price data for the `weapon` of mod type `type`, where `type` is either `rolled` or `unrolled`
|
|
|
+ - e.g. `!price unrolled kuva bramma`
|
|
|
+- `addmusic querytype querystring`
|
|
|
+ - Looks up music in the host DB, and adds matching songs to the playlist, and starts playing if nothing is playing already
|
|
|
+ - Valid `querytypes` include `['track', 'title', 'song', 'artist', 'album']`
|
|
|
+ - `querystring` is the actual query, so if `querytype` was `artist`, a valid `querystring` would be `green day`
|
|
|
+- `stop`
|
|
|
+ - Stops playback and clears the playlist
|
|
|
+- `next`
|
|
|
+ - Returns the next song in the playlist
|
|
|
+- `previous`
|
|
|
+ - Returns the previous song that was played
|
|
|
+- `playlist`
|
|
|
+ - Returns the contents of the current playlist
|
|
|
+- `pause`
|
|
|
+ - Pauses playback
|
|
|
+- `resume`
|
|
|
+ - Resumes playback
|
|
|
+- `repeat setting`
|
|
|
+ - Sets repeat behaviour to `off`, `one`, or `all`. The default behaviour of the bot is `off`
|
|
|
+- `skip`
|
|
|
+ - Skips to the next song in the playlist
|
|
|
+- `back`
|
|
|
+ - Goes back to replay the previous song, and adds the song that was playing at the time of the command back onto the front of the playlist
|
|
|
+
|
|
|
## Caveats
|
|
|
- as mentioned above, yes, this is a very narrow use case
|
|
|
- anyone you whitelist can technically execute arbitrary code in your container (and since there's bind mounts, place code on the host) through `addmusic`. so that's great
|