diff --git a/README.md b/README.md index 3c9a99e..03ab5b0 100644 --- a/README.md +++ b/README.md @@ -24,24 +24,19 @@ Le second est le serveur UDP qui écoutera les évènements en provenance de la Le troisième est une liste de canaux à joindre automatiquement lors de la connexion au serveur IRC. -## Lancement - -Pour lancer le bot, exécutez simplement `main.py`. - ``` -$ ./main.py -_handle: <:irc.planet-casio.com NOTICE * :*** Looking up your hostname...> -_handle: <:irc.planet-casio.com NOTICE * :*** Found your hostname (cached)> -_handle: <:irc.planet-casio.com NOTICE Darks :Serveur réservé aux membres de Planète Casio.> -[...] +from bot import Bot + + +glados = Bot( + ('irc.planet-casio.com', 6697), + ('127.0.0.1', 5555), + ["#general", "#glados", "#tests"] +) ``` ## Ajout de commandes -### Réaction à des évènements v5 - -TBD - ### Réaction à des messages IRC Le bot reçoit tous les messages des canaux dans lequel il est présent. Ajouter une commande consiste à définir deux fonctions : une première qui filtre les messages, et une seconde qui exécute une action dans le cas où le filtre a laissé passer le message. @@ -101,3 +96,34 @@ def privately_insulted(msg): def reply_insult(msg): glados.irc.send(msg.author, "Ce n'est pas gentil, {msg.author}") ``` + +### Réaction à des évènements v5 + +Le bot écoute en permanence sur un socket UDP. C'est sur ce socket que la v5 envoie des messages. Actuellement les messages transitent au format `#channel1 #channel2: message`. + +Coté bot, le système d'ajout de commandes est le même que pour IRC, à savoir deux fonctions à définir, une de test et une d'action. Ces fonctions prennent comme arguments une liste de strings correspondant aux canaux spécifiés lors de l'envoi, et une string correspondant au message envoyé. + +Un exemple qui ne fait que retransmettre les messages : + +``` +@glados.v5.on(lambda c, m: True) +def announce(channels, message): + for c in channels: + glados.irc.send(c, message) +``` + +## Lancement + +Pour lancer le bot, exécutez simplement `main.py`. + +``` +$ ./main.py +_handle: <:irc.planet-casio.com NOTICE * :*** Looking up your hostname...> +_handle: <:irc.planet-casio.com NOTICE * :*** Found your hostname (cached)> +_handle: <:irc.planet-casio.com NOTICE Darks :Serveur réservé aux membres de Planète Casio.> +[...] +``` + +## Axes d'amélioration + +Le bot n'a aucune notion d'historique : un message ne peut être traité qu'individuellement, et non analysé dans son contexte. Ajouter un historique restreint (quelques dizaines de messages) permettrait de diversifier le comportement du bot.