Separation of concerns
All communication of my website and Jabber is done via a perl bot that monitors presence and waits for messages to arrive from either the database or jabber. For some reason this bot tends to act strangely after some time. Messages from the database then still get to the jabber world, but presence and message never make it out of the parser. Odd.
What I have done now is use two separate bots. One that takes care of the presence packets, and one that takes care of the message passing. Let's see how that works out.