~ecs/quaternia

41de034c4b8e22509ec47e28226ffeb9c8586ae9 — Eyal Sawady 24 days ago 913f869 master
Update README.md
1 files changed, 17 insertions(+), 25 deletions(-)

M README.md
M README.md => README.md +17 -25
@@ 23,37 23,29 @@ options. It'll match all messages against `regex`, and use the

## Commands

- `!ping`: Write 'pong'. Useful for testing that the bot is responding.
- `!quit`: Kill the bot. Only usable by `opnick`.
- `!wttr <location>`: Get the weather in `location` using OpenWeatherMap
- `!ddg <search>`: Search DuckDuckGo for `search`. Scrapes the HTML version of
- `.ping`: Write 'pong'. Useful for testing that the bot is responding.
- `.quit`: Kill the bot. Only usable by `opnick`.
- `.w <location>`: Get the weather in `location` using OpenWeatherMap
- `.ddg <search>`: Search DuckDuckGo for `search`. Scrapes the HTML version of
  DuckDuckGo, might be broken by the time you're reading this.
- `!ia <search>`: Get DuckDuckGo instant answers for `search`. Some searches may
- `.ia <search>`: Get DuckDuckGo instant answers for `search`. Some searches may
  cause weird errors.
- `!w <title>`: Write the overview of the English Wikipedia article
- `.wp <title>`: Write the overview of the English Wikipedia article
  named `title`.
- `!ws <search>`: Search the English Wikipedia for `search`.
- `!reload`: Reload the configuration file.
- `!choose`: Randomly choose one of the arguments.
- `!remind`/`!reminders`/`!remindme`/`!snooze`: Something like
- `.ws <search>`: Search the English Wikipedia for `search`.
- `.reload`: Reload the configuration file.
- `.choose`: Randomly choose one of the arguments.
- `.remind`/`.reminders`/`.remindme`/`.snooze`: Something like
  <https://git.sr.ht/~sircmpwn/reminderbot>. Also triggered by most
  natural-language requests for reminders that start with 'remind me'.
- `!loc`/`!location`: set user locations
- `!np`: print the currently playing song, ignore arguments
- `!mpd`: launch raw bytes at mpd, see
  <https://musicpd.org/doc/html/protocol.html> for documentation
- `!markov`: print a Markov chain based on everything that quaternia has heard
- `!add <filter>`, `!album <album>`, `!artist <artist>`, `!clear`,
  `!prev`, `!skip`/`!next`, `!title`: poke mpd in various ways
- `!go`: execute Go code
- `!gobegin`, `!gorollback`, `!gocommit`: start, abort, and commit a transaction
- `.loc`/`.location`: set user locations
- `.markov`: print a Markov chain based on everything that quaternia has heard
- `.go`: execute Go code
- `.gobegin`, `.gorollback`, `.gocommit`: start, abort, and commit a transaction
  of persistent Go commands
- `!mbta`: get predictions from the MBTA API
- `!stops`: get the stop IDs on an MBTA route
- `!rss`: manage RSS subscriptions

The music commands require an MPD intstance. It is recommended to put that
instance on a server and configure the httpd output.
- `.mbta`: get predictions from the MBTA API
- `.stops`: get the stop IDs on an MBTA route
- `.rss`: manage RSS subscriptions

Persistence is done with textual files under /etc/quaternia, because SQL
is overkill for this and adds a runtime dependency.