Hi Gavin.

Sorry I took so long to get back to you. I wasn't able to post to this list over the holiday period.

Gavin Carr wrote:
Hi all,

Just getting to my first serious playing with djabberd, using svn trunk.
I've got the basics up nicely - auth, rosters, and vcards - and am now trying to play with bots, components, and MUCs, with rather less success.

I'm trying to use djabberd.conf style configuration, but can't figure out
the proper incantations for things like bots and MUCs. I'm trying to setup
an [EMAIL PROTECTED] bot in my main vhost, for example, using this:

  <Plugin DJabberd::Bot::Eliza>
    NodeName eliza
  </Plugin>

Is this correct? It almost works, and I can add [EMAIL PROTECTED] as a buddy and chat away ok, but I'm not getting authorised for presence updates?
(An older version references DJabberd::Plugin::Bot, but that's no longer in
svn, so I assume that's obsolete?)

I'm not really all that familiar with the bot code, but a quick scan of the DJabberd::Bot class suggests to me that it doesn't support responding to presence subscription requests.

I suspect this is because LiveJournal's bot -- really the only sane bot implementation right now -- is hardcoded into LiveJournal's RosterStorage implementation. Adding some code to make bots automatically respond to subscription requests ought not to be too hard, though.

I also tried playing with DJabberd::Component::Example, but that and DJabberd::Component suggest this should be used as follows:

  <Plugin DJabberd::Plugin::Component>
     Subdomain example
     Class DJabberd::Component::Example
     Greeting Hello, world!
  </Plugin>

but DJabberd::Plugin::Component doesn't appear to be in svn?

That's some old, broken documentation you've found there.

Components are now themselves delivery plugins, so you just load them directly:

<Plugin DJabberd::Component::Example>
    Greeting Hello, world!
</Plugin>

The "subdomain" concept was redesigned, too. To achieve what the example above set out to do, you'll want this more complete example:

<VHost example.com>
    # Other configuration for example.com here

    <Subdomain example>
        <Plugin DJabberd::Component::Example>
            Greeting Hello, world!
        </Plugin>
    </Subdomain>
</VHost>

It's worth noting that since the documentation in that Example component is out of date it's possible/likely that the implementation is as well, so you may find that it doesn't work correctly.

It's also worth noting the currently-undocumented caveat that adding a Subdomain to a VHost will stop DJabberd from automatically adding the default set of delivery plugins to that VHost, so you'll need to explicitly load DJabberd::Delivery::Local and optionally DJabberd::Delivery::S2S into the example.com VHost above if you aren't doing so already.

MUC is no longer actually a component, but you load it in the same way as the component above, just using the name DJabberd::Plugin::MUC. The MUC support itself is not complete as far as I'm aware, but others on the mailing list have had some success in using it.

Reply via email to