IRC bot that does stuff

0871488 _sql: fix utf8 support

~ecs pushed to ~ecs/awkbot git

3 days ago

7167b8c Yeet reminderbot

~ecs pushed to ~ecs/quaternia git

10 days ago


An IRC bot that does various things


doas mkdir /etc/quaternia
chown $USER /etc/quaternia
cp quaternia.ini.example /etc/quaternia/quaternia.ini
$EDITOR /etc/quaternia.ini

You'll need to change nick, sasluser, saslpass, and channels.

You can control quaternia's parser with the regex and regexsg options. It'll match all messages against regex, and use the regexsgth subgroup as the command that it interprets.


  • .w <location>: Get the weather in location using OpenWeatherMap
  • .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, used as the default location for .w and for determining your timezone in reminderbot
  • .markov: print a Markov chain based on everything that quaternia has heard of persistent Go commands
  • .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 I made bad design decisions when I originally wrote this and can't be bothered to fix them.

quaternia will also print information on URLs mentioned, using the formatting string urlfmt ('%s' is replaced by the URL's title).