Trucs de geek

Des bots XMPP avec Smack

Posted on July 26, 2007

J’ai écrit il y a quelques temps deux bots qui communiquent entre eux. j’utilise la librarie Smack Java.

Le code : chatbots.zip. C’est un projet Eclipse 3.1, avec toutes les jars nécessaires.

Pour l’utiliser, vous allez devoir créer deux comptes sur le serveur Jabber, et modifier la méthode main.

Mais que font-ils ?

Il y a deux bots : sessioncreator et sessionbot. Pour créer une chatroom, il faut envoyer un message à sessioncreator sous cette forme :

create MaChatRoom <liste de personnes a inviter separes par des espaces>

A ce moment-là, sessioncreator :

  • crée la chatroom et met le sessionbot en owner de la chatroom.
  • invite le sessionbot, avec le nom listener
  • envoie les invitations au demandeur, et à la liste des personnes à inviter.
  • quitte la chatroom un fois que le sessionbot a rejoint la chatroom.

Le sessionbot, lui travaille beaucoup moins :

  • Il accepte les invitations à rejoindre les chatrooms
  • Il kick toutes les personnes qui disent FORBIDDEN.

NB : le sessioncreator a deux hooks canCreate et canJoin qui permettent de vérifier si un utilisateur peut créer ou joindre la chatroom (avec une vérification en BDD, par exemple).

NB2 : Vous pouvez utiliser/modifier mon code source sans restriction. Pour les jars de Smack, vous devez respecter leur licence (mais bon c’est du Open Source Apache, ce qui est assez tranquille).

Comments
  1. EvandroJanuary 18, 2008 @ 01:45 AM

    Merci!

Post a comment
Comment