# Twitch and Discord chat bot
The bot listens for responses to `!quote add` , `!quote edit` and `!quote remove` commands, and updates the quotes database accordingly
using [HTTP API ](https://gitea.brno.mraveniste.cc/turbotraktor/ladylilia.com/src/branch/master/quotes-api/README.md ).
## Supported commands
* `!lastquote` - posts the most recent quote
* `!findquote PATTERN` - searches for quotes matching `PATTERN` and in case multiple matches are found, posts one of them randomly
- `PATTERN` has to be at least 3 characters long
* `!bellagram` , `!bellapics` , `!instabella` , `!instagram` - posts a link to a random Instagram picture of Bella
* `!yt QUERY` - queries Lady Lilia's Youtube channel and posts a link to the most relevant result
- `QUERY` can contain `|` (logical **or** ) and `-` (logical **not** ) operators, for example: `!yt oblivion -nehrim`
* `!clip PATTERN` , `!findclip PATTERN` - searches for Twitch clips matching `PATTERN` and in case multiple matches are found, posts one of them randomly
- `PATTERN` has to be at least 3 characters long
* `!roll FORMULA` - performs a dice roll
- `FORMULA` syntax is inspired by [roll20.net ](https://wiki.roll20.net/Dice_Reference )
* `!convert EXPRESSION [UNITS]` , `!conv EXPRESSION [UNITS]` - performs unit conversion and posts the result
* `!cheese QUERY` *(Discord only)* - queries [cheese.com ](https://cheese.com ) and posts details about a cheese
* `!nextstream` *(Discord only)* - posts details about the next scheduled stream (if any)
* `!giveaway` *(Twitch only)* - posts info about current giveaway (if any)
### Mod-only commands
* `!syncquotes` *(Twitch only)* - performs synchronization of the quotes database with Twitch VODs
* `!command set COMMAND TEXT` *(Twitch only)* - adds a new extra command or updates an existing one
- instances of `{user}` in `TEXT` will be substituted when the command is executed
* `!command unset COMMAND` *(Twitch only)* - removes an existing extra command