I am not sure how to do this without a daemon process. Something needs to be listening to inotify
events, listening for shouts, and ready to receive API hooks.
### How should the daemon work?
- for shouts and bot integration, every user gets a file in /town/bustle/spool/. bustled does a select over every file. a scheduled task adds and removes spool files based on who exists on the system.
- for file activity, some kind of inotify watcher.
### How should user clients work?
when you run `bustle`, it enters a loop. at some interval, messages print. should a connection be
maintained with bustled waiting with recv? I don't think so, since the log is not personalized. what
if `bustle` is just a fancy `tail -f` on a file, `/town/bustle/bustle.log`? i think that's fine. i
want running bustle to be exciting and cute, animating the messages in various ways. someone who
just wants the log is free to read `/town/bustle/bustle.log`.
### How should API clients work?
I'd like to be able to report on irc, bbj, and feels events. feels can be a special case of just
users editing in their home dir, but bbj and irc are more special. i think to start those services
will just get a spool file like a normal user and then write to it programmatically. this will
require modification of bbj and hooking into an irc bot run as some user.