This leads to another issue we have with the chat protocol. We have debated whether using HTTP is preferred API for commands/messages. HTTP is supported by every language and the request/response is built-in (versus having an asynchronous request/response via sockets, where causality must be inferred [is this response for msg A or msg B?]). We definitely want our own clients to receive responses for actions (sending messages, commands, joining, etc) that have more information for a better UX, but have debated whether its best to implement it via IRC, HTTP or both.