Introduction

rr4botz2 est un bot IRC écrit en C++ chargeant des scripts Lua. Il conserve une liste des utilisateurs des canaux et permet aux scripts de réagir à certaines actions, comme un message sur un canal ou en privé.

Fonctions disponibles depuis Lua

En plus de la lib standard Lua, le bot dispose des fonctions suivantes pour intéragir avec le bot :

  • say(chan, texte) : dit texte sur le canal chan. Exemple : say("#bots", "hello world")
  • send_command(commande) : envoie la commande IRC commande au serveur. Exemple : send_command("MODE #bots +v eggdrop\n")
  • log(type, texte) : log la chaîne texte. type doit être “error”, “warning” ou “info”. Exemple : log("warning", "probleme !")
  • register_onchannelmsg(func, regex) : enregistre la fonction func pour être appelée si une chaîne correspondant à la regex est prononcée sur un canal. La fonction func prend en paramètre le nom du canal, le nick de l'utilisateur qui a parlé et le texte prononcé.
  • register_onaction(func, action) : enregistre la fonction func pour être appelée lorsque l'action action est effectuée. action peut être “join”, “part” ou “quit”. func reçoit en paramètre le nom du canal, l'action, le nick de l'utilisateur et un éventuel argument (sauf pour join).
  • register_onchannelupdate(func) : enregistre la fonction func pour être appelée périodiquement, à chaque mise à jour des informations sur le canal. func reçoit en paramètre le nom du canal.
  • load_module(script) : charge le module script. script doit être un script Lua valide. Retourne true ou false suivant si le module a pu être charé ou non (l'erreur éventuelle est loggée).
  • unload_module(script) : décharge le module script s'il était chargé. Ne retourne rien. Attention : vous ne devez jamais déchargé le module courant !
  • get_nick() : retourne le nick du bot.
  • get_chan(chan) : si le canal chan est connu du bot, retourne une table contenant des informations. Le champ users contient la table des utilisateurs sur le canal sous la forme nickmode, où mode est “normal”, “voice”, “halfop”, “op”, “protect” ou “owner”.

Si vous avez besoin d'autres fonctionnalités, n'hésitez pas à me contacter (remram44). La prise en charge d'autres langages de script n'est pas envisagée.

Liens externes

Compiler rr4botz2

Vous aurez besoin de Lua, pthread et des sockets (fournies par la lib wsock32 sous Windows). Le projet, bien que prévu à l'origine pour fonctionner sous Linux, compile et tourne parfaitement sous Windows (testé avec MinGW).

 
rr4botz2.txt · Dernière modification: 2009/06/30 22:34 par remram44
 
Recent changes RSS feed Creative Commons License Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki