gah
Sommaire :
  • Présentation et concept de ZCBOT
  • Pour bien débuter avec zcbot
  • Votre zcbot : administration
  • La référence de zcbot
    < Retour


  • Présentation et concept de ZCBOT :
    ZCBOT est un projet né de 2 besoins:
    Premièrement le besoin du channel #Vannes (IRCNET) d'avoir des bots.
    Deuxièment le besoin pour moi (BanZ sur IRC, François Rocca IRL) de développer un logiciel pour tester les nouvelles classes du projet ZC, à savoir ZCSELECT, ZCXML et ZCSCRIPT.

    ZCBOT est codé entièrement en C++ ex-nihilo sauf pour les classes ZC : c'est à dire qu'il ne dérive d'aucun autre bot.
    Il est conçu pour être généraliste et avoir un maximum de possibilités (minimum de restrictions de départ) : il est maintenant multi-serveur et multi-channel; Il permet d'avoir autant de serveurs, de commandes, de users que l'on veut.

    Pour les développeurs/mainteneurs de bots, j'ajouterai qu'il est évolutif et très configurable grâce à sa conception objet et XML. Il est en outre rapide (d'origine) et est devenu assez stable au fil des débugages.

    Dans la version actuelle vous trouverez un bot complet, avec de nombreuses fonctionnalités et plus de 100 commandes. ZCBOT est capable de gérer un channel classique avec différents niveaux de users, de recevoir des commandes par telnet ou DCC CHAT, de lancer des commandes entre serveurs et entre channels, de servir de serveur de fichiers, d'avoir des plugins (ex: plugin web) etc.

    Les objectifs de zcbot sont:
  • un bot sans concession (pas de limitation conceptuelle)
  • un bot puissant et évolutif
  • un bot stable et sûr
  • un bot simple d'utilisation
  • un bot généraliste qui peut être spécialisé
    (rien que ça ;p)


  • Pour bien débuter avec zcbot :
    ZCBOT est un bot fait ex-nihilo, mais est inspiré du thabot: on retrouve un système de level et un certain nombre de commandes. Si vous connaissez le thabot vous avez déjà un avantage mais il va falloir oublier certaines limitations ;)
    Si vous ne connaissez que les eggdrop, oubliez les.

    zcbot dispose par défaut de 7 levels (0: inconnu, 7: master), à chaque commande est associée un level et chaque user a un level qui lui permet d'utiliser toutes les commandes de level inférieur ou égale .. (c'est pas trop dur jusqu'ici..)

    Pour utiliser les commandes un user doit d'abord se faire connaître, c'est à dire utiliser la commande spéciale "ident". (attention différence par rapport au thabot) L'ident demande un nick et un password.
    Par défaut (si son champ noadrlogin ne vaut pas 1) un user ne peut s'identifier que si son adresse correspond à un de ses masks. NB: les masks servent aussi à tout ce qui se fait sans ident : "greet" et mise à jour du "seen" ..

    Une fois identifié un utilisateur peut utiliser toutes les commandes de son level jusqu'à la fin de son ident. Un ident se termine soit volontairement avec la commande unident, soit tout seul si l'user quitte IRC ou si le timeout expire.
    Le timeout est le temps depuis la dernière fois que l'utilisateur a parlé ou fait une commande. Il vaut 60 secondes si l'user n'est sur aucun channel du bot, ou 60 minutes si il est sur un channel (valeurs configurables).

    Voici enfin la syntaxe pour une commande (y compris ident):
    Il faut donner la commande sur un channel ou en private avec un caraactère de commande par exemple '*' (*ident toto pass), ou bien le nom du bot par exemple 'Poire' (Poire dis coucou)
    Certaines commandes on des effets sur des serveurs voire des channels, il peut être utile de préciser un (autre) serveur ou un (autre) channel. Pour cela on met le nom du serveur ou du channel avant la commande séparés par une virgule (pas d'espace et le serveur avant le channel):
    /msg Poire *grolier,#Vannes,say Hello World !
    Vous avez compris, j'en suis sûr, que l'on met les paramètres de la commande à la suite :).
    Astuce: /CTCP bot CMDCHAR pour connaître le cmdchar

    Utilisez la commande help pour avoir des descriptions de chaque commande.
    NB: ce rapide aperçu de zcbot ne rentre pas dans le détail des commandes et omet de nombreux concepts comme la restriction sur les serveurs et channels. Tout ceci fera (j'espère) l'objet d'autres documents.


    Votre zcbot : administration
    Il vous faudra quelques connaissances de base pour cela mais rien de bien extraordinaire ..

    Pour mettre en place votre zcbot vous devez avoir à votre disposition une machine linux (ou Unix ou..) ayant accès aux serveur IRC (et ayant une IP routée de préférence).
    Vous devez d'abord récupérer l'archive, la décompacter et la compiler sur cette machine ("make").
    Pour les OS non linux, je n'ai pas testé le bot, mais zcbot devrait pouvoir être compilé sans trop de modifications. A voir quand même les pthreads (que vous pouvez désactiver dans le Makefile).

    Ensuite, il vous faudra configurer le fichier zcbot.zml avec votre éditeur de texte ou de XML préféré: régler les serveurs, les users etc.. L'archive fournit un zcbot.zml déjà presque prêt à l'emploi.

    Il ne reste plus qu'à lancer le bot: "./zcbot" ou "./zcbot &" ..


    La référence de zcbot :
  • Les commandes de ZCBOT
  • Configuration fine de ZCBOT (à venir)
  • L'architecture de ZCBOT (à venir)
  • Le langage ZCSCRIPT (à venir)