Incomplete RESTful API for IRC
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Chris Smith 2fb515f9a9 Add some things! 11 years ago
etc Add logback configuration 12 years ago
nbproject Add some things! 11 years ago
src/name/smith/chris/restirc Add some things! 11 years ago
.gitignore Ignore private files 12 years ago
LICENSE.txt License 12 years ago
README.textile Planned resources 12 years ago
build-ivy.xml Initial project structure 12 years ago
build.xml Netbeans project file updates 12 years ago
ivy.xml Add Guice dependency 12 years ago

README.textile

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-)