have the shell cd for us (we can do this by running sh -c, but making it cd would be better) support joining irc channels with keys support empty lines throttle really long messages - barring real absurd cases i think the best way to do this would - be to cut off any more than N (say ten) messages sent to a channel within any timespan (say, a second) commands with a lot of output (1000 lines, say) will probably be processed by the queue fast enough to just get rid of them this isn't the best possible system but it will work support irc auth (configurable USER and also password auth) reasonable interop between unicode and non-unicode - we can just send bytes as-is, but i think this is unwise. we can *accept* bytes as is, which is fine i think, and then make non- unicode bytes turn into their unicode counterparts