Notes on $jabberd

 

.users is the list of people connected to jabberd.  If I recall properly each players entry is a list of their name, their current connect (or #-1 if not connected), and list of channels they are on.

 

.rooms is a list of rooms and channels that are available as conferences on jabber.  Each room is a list of name to be presented to jabber, object number in the MOO, verb called to send messages to the room or channel, and a list of  jabber users that are currently on the channel.

 

.debug should be set to the object number of a character to receive a very verbose listing of raw jabber messages.  .admin is the same, but only for error messages.  If the object is invalid, no messages are sent.

 

.servers is a list of connections to other servers.  Jabber needs two connections an incoming and an outgoing.  The process of setting up the connections is also complicated in that call backs are required.  The list of servers has five parameters.  The first is the connection object number.  The second is the name of the server.  The third is either a key used for the handshakes, “send” indicating it is the channel to send messages on, or “recv” indicating it is a channel to receive messages on. The fourth is an integer representing the original channel used for the handshake, and the fifth is the return channel.  The handshaking doesn’t work especially well yet.  It can be pretty slow.

 

As much as I can tell, jabber depends on certain ports, which make it so that you cannot easily have multiple jabberd’s running on the same host. 

 

There is also a hack that I made to $networks to test for is_connected.  This is based on what is in JHMCore.

$network:is_connected   this none this

"is_connected(what) - Returns true if what is connected, false if not";

try

  idle_seconds(args[1]);

  return 1;

except v (ANY)

  return 0;

endtry

.

 

I believe this should work on JHMCore, but I don’t know.