Updated readme
This commit is contained in:
parent
ee3fc0a75f
commit
08507b3df0
52
README.md
52
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.
|
||||
|
|
Loading…
Reference in New Issue