h1. RestIRC h2. What is it? _RestIRC_ aims to provide a REST-ful interface to IRC. The primary use-case is to allow websites, scripts and applications to quickly and easily interact with IRC to, for example, notify certain channels about events. After that, the goal is to enable remote scripts and applications to listen to and respond to events by registering WebHooks. Ideally, it will eventually be possible to write a full IRC client on top of the API without having to interact with IRC itself directly. h2. Resources These are the planned resources that RestIRC will expose. Methods that aren't yet implemented are -struck out-. * /version (GET) * /servers (-GET-, -POST-) * /servers/*server* (-GET-) * /servers/*server*/channels (-GET-, -POST-) * /servers/*server*/channels/*channel* (-GET-, -PUT-, -DELETE-) * /servers/*server*/channels/*channel*/topic (-GET-, -PUT-) * /servers/*server*/channels/*channel*/topic/author (-GET-) * /servers/*server*/channels/*channel*/messages (-GET-, -POST-) * /servers/*server*/channels/*channel*/users (-GET-) * /servers/*server*/users (-nothing?-) * /servers/*server*/users/*user* (-GET-) * /servers/*server*/users/*user*/messages (-GET-, -POST-) In addition, most resources will expose a hooks subresource to allow configuring WebHooks to be called: * /hooks (-GET-) * /hooks/*event-type* (-GET-, -PUT-, -POST-) * /hooks/*event-type*/*hook-id* (-GET-, -PUT-, -DELETE-)