The new bot code

Martin Atkins mart at
Thu Jul 6 17:34:23 UTC 2006

I saw the new bots code going in and I have a couple of comments:


This seems to really just be a mechanism for in-process "components". 
It's a little higher-level than what you'd want a bot to be, but if I 
was to get my finger out and write component support bots could just be 
a subclass of component that deals only in messages. I imagine component 
support would involve a general component class that can be subclassed 
to deal with both in-process and out-of-process components, and then 
bots would be a subclass of the in-process one.


I'm assuming the purpose of this bots thing is to provide an LJ posting 
"bot" on LJ Talk. In this case, I think this might be the wrong 
approach. It seems to me that the posting service ought to be a service, 
without a nodename, like This can then show up in 
the service discovery interface that most Jabber clients provide. The 
main advantages I see of this are:
    * Users will be able to "register" with the service as they would 
normally do with, say, a gateway service. The advantage of this is that 
non-LJ JIDs could authenticate as LJ users over S2S. (Must check whether 
service registration involves sending cleartext passwords. Obviously 
this is a no-go if so.)
    * Users will be able to post to any journal that their account can 
access by posting to <username at>. The service 
browser could also allow them to browse these once the user has registered.

This doesn't really cause any disadvantages either. These magic JIDs can 
quite happily be added to rosters if desired, and for one-off posts the 
user can just use the "Send Message" command in the jabber client and 
type in the address manually. lj_dev at isn't hard to 

This seems like a more Jabber-ish approach to me. This isn't like an AIM 
bot where the bot is just a funny client connected to a normal userid.

(okay, so that wasn't really about DJabberd so much as LiveJournal, but 


That's all for now. I'm sure I'll think of more to muse about later. :)

More information about the Djabberd mailing list