Des bots XMPP avec Smack

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).

1 comment so far

  1. Evandro on

    Merci!


Comments are closed.

%d bloggers like this: