Changes to DJabberd

Philip Gladstone philip at
Thu Apr 2 01:42:27 UTC 2009

I have been working on the following changes to DJabberd for my own use. 
I can contribute all or some of them if anybody thinks that they are useful:

* Improved BotContext object. Supports timeouts on contexts, and also a 
user context pointer

* A BotContextListStorage class (and associated hooks) that allow 
BotContext objects to be stored.

* A BotContextListStorage::InMemoryOnly class that stores BotContext 
objects in memory (and so they do not survive daemon restarts)

* A BotContextListStorage::SQLite class that stores them in a database 
so that they can be long lived (which is my application)

* Lots of improvements to the Bot object so that it can respond to 
subscribe requests and accept them. Provide methods that allow bots to 
send unsolicited messages and allow them to set their availability.

* Fix Presence class so that a received probe can generate an 
unsubscribed notification as per the spec.

* Add a Bot::BotFactory class that is a bot, but enables the dynamic 
creation of other bots. Once created these other bots can be controlled 
to send messages and alter their statuses.



More information about the Djabberd mailing list