Tank / rabbiter

Microblogging using RabbitMQ and ejabberd

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Rabbiter is an ejabberd module providing a bot - rabbiter@rabbiter.DOMAIN, by default - which provides a microblogging service when you add it to your roster.

To compile:

* get ejabberd sources [1]
* get, and install, RabbitMQ - http://www.rabbitmq.com/download - make sure you get the latest repository sources! [2]
** you'll need "rabbitmq-server":http://hg.rabbitmq.com/rabbitmq-server/archive/tip.zip and "rabbitmq-codegen":http://hg.rabbitmq.com/rabbitmq-codegen/archive/tip.zip
** unzip them
** rename the "rabbitmq-codegen-(lots of hex digits)" directory to "rabbitmq-codegen", and similarly for rabbitmq-server
** in the rabbitmq-server directory, type "make"
** symlink the rabbitmq-server so it is available at your lib/erlang directory [3]
* get rabbiter sources
* symlink mod_rabbiter.erl into ejabberd/src/.
* build ejabberd
* add a mod_rabbiter stanza to ejabberd.cfg [4].
* start ejabberd

If you configured ejabberd to serve DOMAIN, and you didn't supply any special domain for the rabbiter module, you can now add rabbiter@rabbiter.DOMAIN to your roster. It ought to send you a welcome message.

If you want rabbiter@someother.domain, change the ejabberd.cfg stanza for rabbiter to  {mod_rabbiter, [{host, "someother.domain"}]}.


[1]
<pre><code>
svn co http://svn.process-one.net/ejabberd/trunk ejabberd
</code></pre>

[2]
<pre><code>
hg clone http://hg.rabbitmq.com/rabbitmq-server/
hg clone http://hg.rabbitmq.com/rabbitmq-codegen/
</code></pre>

[3]
<pre><code>
ln -s rabbitmq-server /usr/lib/erlang/lib/rabbitmq_server
# (note underscore instead of hyphen)
# for macports users
ln -s rabbitmq-server /opt/local/lib/erlang/lib/rabbitmq_server
</code></pre>

[4]
<pre><code>
{modules,
 [
  ...
  {mod_rabbiter, []},
  ...
 ]}.
</code></pre>

About

Microblogging using RabbitMQ and ejabberd