Les Bots de #quake-sb

Foire aux Questions made in KNARF
(ce document ne peut pas être lu par des méchants !)


Notre canal IRC compte officiellement 3 robots, plus communéments appelés Bots (ou beaux, ou bo, enfin comme vous voulez):

  1. MaxyLooZe
  2. ZoMboOLoO
  3. InKiSitOr


Mais c'est quoi un BOT?

Un bot, ce n'est jamais qu'un faux user qui se connecte et qui écoute ce qui se passe. Il pourra effectuer des tâches automatiques ou à la demande, comme par exemple kicker un plaisantin qui parle trop (on dit "un sale type qui floode"). Les différents évènements qu'il peut écouter sont de différentes sortes.

  • Certains mots qu'on lui a appris (topic, kick arbaal et ce genre de choses)
  • Les allées et venues des utilisateurs du channel
  • Le nombre de lignes qui pourrissent le channel en un certain temps quand Arbaal se pointe et qu'il tape 135 fois %biere (flood)
  • des commandes secrètes qu'on pourra lui faire passer autrement que par l'intermédiaire du channel. Ce sont bien évidemment celle ci les plus intéressantes pour le ou les administrateurs du channel.


M'enfin ca sert à quoi?

A plusieurs choses:

  1. A conserver notre channel IRC bien à nous. Rien n'empêche n'importe quel type malveillant de nous squatter le nom de canal #quake-sb. Il n'y a rien de plus gênant que de se retrouver avec un bot inconnu déja présent dans SON PROPRE channel. Du coup vous ne pouvez même pas y changer le topic (le titre). Si c'est vraiment la misère, on peut même vous en interdire l'accès. Sur IRC, la propriété, c'est très relatif, votre nick, votre channel peuvent vous être choucrave en une micro-seconde si vous ne faites pas attention.
  2. Comme on a notre channel, on peut dire a tous les petits jeunes qu'on est des gens importants :-). Ca le fait, on a NOTRE channel IRC. Vous me direz, si on met pas de bots, on peut toujours dire qu'on est sur #quake-sb, mais alors rien n'empeche qu'un de ces petits jeunes squatte le channel et nous empeche de faire ce qu'on veut dedans.
  3. A accueillir lesdits "petits jeunes" qui vont avoir la bonne idée de venir sur le channel. Ils constateront ainsi que notre présence sur Internet est bien réelle et qu'en qualité de clan le plus craint de le monde, nous avons effectivement la puissance maléfique qui fait notre réputation. Le quidam en question pourra alors rapporter à ses cloportes d'acolytes que nous sommes les maitres de l'univers puisqu'on a NOTRE channel IRC.
  4. A kicker (bannir parfois) les types lourds qui viennent ouvertement nous critiquer ou nous faire la morale, ou nous dire qu'on est des brelles à Quake, ou qui ont un nom qui commence par un B, qui entrent en faisant trop de bruit, qui rotent, qui sentent mauvais des pieds, qui font des saletés partout, etc etc.

Vous me direz dans ce cas, pas besoin d'un bot, on le fait quand le type en question se pointe et puis voila, on le ban et on en parle plus. Seulement voila, la ban-list, la liste noire du channel, disparait quand il n'y a plus personne connecté... Et qui va vouloir rester la nuit connecté pour s'assurer que les méchants ne vont pas venir chez nous??? Le bot !!!!


D'accord! Alors comment ca marche?

Bin en fait ça dépend des versions de bot qu'on a... Pour l'instant, nos bots sont de 2 types différents: Eggdrops et mIRCbot.


Gnaaa??? Alors lequel est quoi?

MaxyLooZe est un eggdrop qui tourne sous Linux, c'est le plus balaise, il est absolument invincible, invulnérable à toute attaque des méchants.

ZoMboOLoO est aussi un eggdrop, mais il n'est pas sous linux... En fait, c'est un bot qui tourne sur Knarfworld, donc pour l'instant il est sous NT, il sera bientôt sous Linux lui aussi. Il est donc, de par sa nature windobesque un peu moins invulnérable que son collègue, mais il n'est pas mal quand même.

Quant à InKiSitOr, c'est un mIRCbot. Ce qui signifie que ce n'est pas un programme indépendant à part entière, à l'inverse des 2 autres. C'est juste une session mIRC ouverte avec une grosse section remote (télécommande en anglais). Sa maison, c'est le serveur de SB_WouTaN chez IBM.


C'est quoi un Eggdrop?

Un programme spécial prévu pour se connecter sur IRC, et effectuer les taches courantes des bots, kicker les Arbaals, banner les Beorns etc etc. Il est extrêmement puissant car il dispose d'une floppée de commandes accessibles par DCC CHAT (dans la PARTY LINE, voir plus bas).

Il dispose d'un fichier de configuration dans lequel un tas de trucs peuvent etre réglés, comme par exemple, le topic et le mode par défaut du channel, le nombre de lignes qu'on a le droit de dire avant d'etre considéré comme "Un Sale Type Qui Floode" et de se faire kicker, et plein d'autres choses marrantes encore.

Il reconnait et assigne aux utilisateurs des "flags" qui vont donner ou interdire certaines choses. Il existe des tas de flags sous forme de lettres. Pour en avoir une idée, il faut consulter l'aide d'un des 2 eggdrops via DCC CHAT ou TELNET.

Exemple: Un utilisateur avec le flag +v obtient automatiquement un + devant son nick lorsqu'il joint le channel.

L'avantage: il est super-puissant et quasiment tout prêt. quelques lignes à modifier dans le fichier de config et ca marche tout seul.


C'est quoi un mIRCbot?

En utilisant les fonctions avancées de mIRC (qui est un programme génial il faut bien le dire), on peut réussir à piloter une session à distance située sur un autre ordinateur, à la faire réagir automatiquement à certaines actions (ou évènements). Pour ca on utilise des scripts. C'est la description du comportement du mIRC en fonction de l'action.

Exemple: Si on place cette ligne dans le events.ini de la session distante, on programme une réaction liée à l'entrée d'une personne dans le channel.

on 1:JOIN:#:/msg $chan $nick est dans la place - Bienvenue 
sur $chan vieux :-)) | /notice $nick A bas les dioukeurs !

Ce qui se traduit par: "lorsqu'un utilisateur de base (1) se pointe (JOIN), on envoie un message à tout le channel actif ($chan) en mettant dans la phrase le nom du quidam" ($nick qui désigne le nick de celui qui a fait la dernière action, en l'occurence, il a joint). Cette phrase doit surement vous dire quelque chose ;-)

Au passage, on lui envoie en privé (notice) un petit "A bas les dioukeurs!"

Le mIRCBot reconnait les utilisateurs selon leur niveau (Level dans le programme). Par défaut, tout utilisateur à qui on s'adresse est un utilisateur de niveau 1. A vous de programmer les reactions de votre mIRC suivant les niveaux que vous accordez.

on 4!:JOIN:#:/msg $chan Mon cheri c'est bien plus qu'une 
simple friandise... pas vrai $nick ? | /notice $nick Salut $nick , 
Bienvenue à la maison | /mode $chan +v $nick

Meme si la syntaxe ne vous apparait pas comme très claire, ca devrait être compréhensible... Tout ça peut se programmer sur votre mIRC à vous... Comment croyez-vous que Skill5 arrive à dire bonjour aussi rapidement? :-)))


Si un méchant lit cette page, alors on est foutus?

Non, car les bots ne répondent qu'à leurs maîtres, c'est pour ca qu'il faut faire attention à qui on donne quel pouvoir pour éviter qu'il ne fasse une bêtise.

Il y a différents niveaux de maîtres suivant les bots.

Sur InKiSitOr, il existe 5 niveaux dont 4 d'administration et 1 niveau spécial réservé aux gens qui sont bannis (la fameuse prout-liste). Tout SB est par défaut admin de niveau 3, ce qui lui donne le droit d'ajouter des utilisateurs de niveau 2, de kicker Arbaal ou une autre personne pénible, de changer le topic, de réinitialiser le mode par défaut et le topic du channel, et puis je crois que c'est tout. C'est déja bien.

Les admins de niveau 4 ont les pouvoirs du niveau 3 + celui d'ajouter des utilisateurs de niveau 3, de banner, de faire sortir le bot du channel au cas ou plus personne n'a l'op (@), d'inviter le bot dans un autre channel, et de le faire parler. Ce sont Nurgle et Marie, les piliers du clan (et oui c'est vous les piliers du clan)

Les admins de niveau 5 ont tous les pouvoirs du 4 + celui d'ajouter des utilisateurs de niveau 4, de faire changer le bot de serveur IRC, et celui de lui faire carrément quitter l'IRC. Ce ne sont donc pas des pouvoirs beaucoup plus interessants que les admins de niveau 4, car ils sont surtout réservés à des taches d'administration interne du bot, s'il a des problemes de connection ou autre. Les niveaux 5 chez les SB sont Woutan, Looztra, et moi, les piliers d'IRC.

Sur les Eggdrops, les utilisateurs sont repérés suivant leurs "flags". Tous les SB ont les flags +fopv.

Quelques flags décrits:

flag

signification

+f

friend: l'utilisateur n'est pas puni pour avoir fait un truc qui est MAL comme par exemple croiser les effluves.

+o

op: lorsque l'auto-op est activé (pas chez nous), l'utilisateur obtient automatiquement son @. Accessoirement, on dit aussi qu'il est sub-op. Il contrôle le bot.

+p

party line: L'utilisateur peut utiliser les "commandes secrètes" accessibles par DCC CHAT ou Telnet. Comme ca on peut kicker les Arbaals sans se faire voir.

+v

voice: Bon je l'ai déja dit! Ca permet de pouvoir parler quand le channel est en moderated (+m). Si t'as pas ton +, tu te tais.

Il existe des tas de flags, mais les décrire ici serait inutile, ceux ci sont pour l'instant suffisants. L'aide est accessible via la party line en DCC CHAT ou TELNET par la commande .help whois


Comment on devient Admin du bot?

Tous les SB sont normalement administrateurs des bots avec plus ou moins de restrictions de niveau suivant leur présence sur le channel et leur activité au sein du clan. Une fois que vous aurez lu cette FAQ, vérifiez, si vous êtes un SB, que le bot vous obéit. Si ce n'est pas le cas, c'est qu'on a oublié de vous inclure dans la liste (ça se construit petit à petit).

Si vous pensez que vous n'avez pas assez de pouvoir, alors on peut revoir ça à la hausse, si vous êtes certains d'utiliser toutes les fonctions liées au niveau d'administration supérieur.

Si vous n'êtes pas SB, il y a peu de chances pour que vous deveniez un jour administrateur, mais ça peut arriver. Dans ce cas, devenir SB ne devrait être pour vous qu'une question de jours.

Quoiqu'il arrive, si vous voulez avoir un peu de pouvoir chez nous, il suffit de demander... Ca se discute (pis ça tombe bien j'avais besoin d'un P2 alors on peut discuter)


Comment on sait si on est admin du bot?

Avec InKiSitOr, il suffit de taper !niveau. Il est censé renvoyer un message (en francais) qui vous informe sur votre niveau d'administration actuel. Le signe de commande d'InKiSitOr est le point d'exclamation (!)

Sur les Eggdrops, le niveau d'administration est déterminé par les "flags". MaxyLooZe est programmé pour "ecouter le channel", son signe de commande est le pourcent (%). Si je tape %access dans le channel, j'obtiens ca:

MaxyLooZe- [FL] Your access is [fjmnoptvx]

Entre crochets, il y a la liste de tous les flags. Pour en connaitre la signification, il faut entrer dans la Party Line et afficher l'aide.

Pour connaitre son niveau sur ZoMboOLoO, on est obligé d'entrer dans la Party Line (encore elle) et taper .whois <le nom d'utilisateur reconnu par le bot> sans les <>. (Notez bien que les commandes commencent par des points)

Exemple: Vous entrez dans la Party Line de ZoMboOLoO et vous tapez .whois SB_Knarf, il vous répond:

Can't find anyone matching that.

C'est normal car le bot me connait comme knarf et non comme SB_Knarf.

Si vous tapez .whois knarf, alors ca change tout:

 HANDLE    PASS NOTES FLAGS           LAST
 knarf     yes      0 fjmnoptx        01:41 (#quake-sb )
   #quake-sb          -               01:41
   HOSTS: *!SB_Knarf@*.abo.wanadoo.fr, telnet!*@*
   Saved Console Settings:
     Channel: #quake-sb
     Console flags: -, Strip flags: -, Echo: yes


RRRAAA Mais c'est quoi cette Party Line?

C'est l'interface de commande de l'Eggdrop. Toutes les commandes qu'on voit dans le channel sont toujours les moins interessantes. Le meilleur, c'est que qui se passe dans l'ombre, dans la Party Line justement.

Elle est accessible de 2 manières différentes:

Par DCC CHAT: bouton droit sur le nick du bot (ehh on parle des eggdrops uniquements), il est censé répondre par:

Enter your password.

L'Eggdrop distingue les utilisateurs par 2 methodes. Son host, et son login/password. Chaque admin a donc son petit mot de passe et son nom d'utilisateur. Dans le cas des SB, c'est en général, le nick sans le préfixe du clan, ça va plus vite à taper. Pour les mots de passe, je ne vais pas vous les donner non plus ? :-))

Le Host, c'est ce qui vous identifie sur IRC (et sur le net en général). C'est ce qu'on obtient quand on tape /whois <lapersonne>.

SB_Knarf is SB_Knarf@adsl2-61.abo.wanadoo.fr * Zomboulou
SB_Knarf on +#quake-sb 

Il va de soi que si le bot ne reconnait pas le host comme celui d'un de ses utilisateurs enregistrés, il ne répond pas au DCC chat.

Une fois le mot de passe entré vous devriez avoir le MOTD (Message Of The Day) suivi de:

 You have no messages.
<ZoMboOLoO> *** knarf joined the party line.

A partir de la, vous pouvez communiquer avec le bot par l'intermédiaire de ses commandes (qui commencent toutes par des points). Si un autre utilisateur est présent dans la party Line, vous pouvez le voir en tapant .who (ceux qui connaissent UNIX ne doivent pas être dépaysés). Si l'autre utilisateur tape le .who alors vous le voyez le faire:

<ZoMboOLoO> [01:20] #knarf# who

Ce qui signifie que l'utilisateur knarf (qui peut avoir un tout autre nick ur IRC, qu'importe le bot le reconnait comme l'utilisateur enregistré knarf) a tapé la commande .who à 1h20.

Toute commande ne commencant pas par un point sera comprise par le bot comme un message destiné à tous les autres utilisateurs de la Party Line connectés à ce moment la. La session DCC fait alors office de Channel IRC. Tous les membres de la PL peuvent y dialoguer. C'est un endroit Lag-free, car les sessions DCC ne passent pas par les serveurs IRC mais connectent directement les clients IRC entre eux (chaque utilisateur de la PL est donc connecté à l'Eggdrop qui relaye ses messages).

La PL regorge de messages divers et variés comme par exemple:

<ZoMboOLoO> [01:20] Disconnected from irc.intensive.co.uk
<ZoMboOLoO> [01:20] Trying server irc.se.quakenet.eu.org:6667
<ZoMboOLoO> [01:20] Connected to irc.se.quakenet.eu.org
<ZoMboOLoO> [01:20] NICK IN USE: Trying 'ZoMboLiTo'
<ZoMboOLoO> [01:20] ZoMboLiTo joined #quake-sb.
<ZoMboOLoO> [01:22] Switching back to nick ZoMboOLoO
<ZoMboOLoO> [01:22] Regained nickname 'ZoMboOLoO'.

Pas la peine de s'affoler ce sont juste des infos qui défilent concernant l'état du bot. Parfois, ce sont d'autres types de messages:

<SB_Knarf> .kick Arbaal
<ZoMboOLoO> [22:20] #knarf# (#quake-sb) kick Arbaal
<ZoMboOLoO> Okay, done.
<ZoMboOLoO> [22:20] Arbaal!zog-zog@adsl2-207.abo.wanadoo.fr kicked 
from #quake-sb by ZoMboOLoO!Zooo@adsl2-61.abo.wanadoo.fr: request

Mouahahaha.


Le DCC CHAT ne marche pas et je voudrais kicker Arbaal. Comment faire?

Pas de panique, il reste TELNET!! Cet accessoire daubique de windows 95/98/NT permet de se connecter sur une machine capable de comprendre l'emulation de terminal (en l'occurence un Eggdrop).

Il suffit de cliquer sur Démarrer/Exécuter et de taper telnet dans le champ blanc, sans chemin d'accès ni lettre de lecteur. Comme ca violemment.

Ensuite, dans le menu Connecter, sélectionner Système Distant. Là, dans Nom d'hôte, il faut mettre l'ip du bot (MaxyLooZe ou ZoMboOLoO) qu'on peut obtenir sur IRC en tapant /dns lenickdubot. Dans la case Port, il faut effacer le mot telnet et mettre a la place 3666 (ça c'est notre réglage à nous, ça ne marche pas sur tous les eggdrops). Enfin, vous ne modifiez pas le 3eme champ ou il doit y avoir marqué vt100. Reste à cliquer sur connecter ou vous devez vous retrouver avec ceci:

ZoMboOLoO   (Eggdrop v1.3.13+win32  (c)1997 Robey Pointer)
Please enter your nickname.

Là vous entrez votre nom d'utilisateur reconnu par le bot (ce n'est pas nécéssairement votre nick sur IRC)

Enter your password.

Et à partir de là tout est identique au DCC Chat.

Ah oui... en fait il y a un détail différent... dans Telnet, on ne voit pas ce qu'on tape. Par bonheur, on voit ce que le bot répond (manquerait plus que ça).

L'avantage de Telnet par rapport au DCC Chat, c'est que le bot peut parfois etre momentanément déconnecté d'IRC. Pour le reconnecter, il existe des commandes spéciales pour jumper de serveur en serveur (que je ne vais pas décrire ici). Quand c'est le cas, on peut toujours telneter.


Pourquoi je vais m'embêter à telneter?

Bin justement, y a des fois, on ne peut pas DCC. Par exemple, avec ZoMboOLoO, on ne peut pas DCC (comme avec moi d'ailleurs c'est une question qui m'échappe je n'ai pas encore compris pourquoi). Bref, quand ya pas possibilité de faire du DCC, on doit telneter, c'est la vie. Il faut s'habituer à ça pour le jour où on y est contraint.


C'est bien joli, mais et InKiSitOr dans tout ça?

InKiSitOr est souvent dans les choux en ce moment, et ce pour plusieurs raisons.

  • Woutan oublie parfois de le redémarrer
  • La connection IBM fait des siennes
  • il est coincé sur un serveur splitté
  • son tapis de souris est sale
  • il porte des lunettes

InKiSitOr n'est pas aussi évolué qu'un Eggdrop, c'est donc moins grave. Cependant, lui aussi possède des commandes secrètes, accessibles via CTCP.

Pour kicker:

/ctcp InKiSitOr KICK #quake-sb nick raison

Permet de kicker l'utilisateur "nick" avec entre parenthèses "raison", de façon invisible. Cette commande n'est valide qu'au niveau 4.

/ctcp InKiSitOr BAN #quake-sb nick raison

Réalise un ban de la personne "nick" avec pour justificatif "raison". Comme pour le kick, cette commande est invisible est n'est accessible qu'au niveau 4.

Comme cette commande est longue, on peut ajouter des alias dans mirc qui vont réaliser cela de façon plus rapide et moins complexe. Il suffit pour cela d'ajouter ces 2 lignes à votres section Tools/Aliases de mIRC:

/ik /ctcp inkisitor kick $chan *1
/ib /ctcp inkisitor ban $chan *1

La première pour le kick, la seconde pour le ban. Pour éxécuter les commandes avec les nouveaux alias, il suffira de taper

/ik arbaal raison
/ib beorn raison

Ce qui devrait faire l'affaire.


On peut faire parler les bots?

Oui, c'est possible avec tous les bots.

Avec InKiSitOr, il y a une commande ctcp semblable dans l'utilisation au kick et au ban decrits plus haut:

/ctcp InKiStOr SAY #quake-sb phrase

Permet de faire parler le bot avec l'argument "phrase", comme s'il s'agissait d'une personne.

/ctcp InKiSitOr ACT #quake-sb fin-de-phrase

Permet d'afficher une action faite par le bot, ce qui revient à lui faire faire un /me. L'argument fin-de-phrase doit évidemment commencer par le verbe suivi du complément, sinon l'effet est loupé.

Ces 2 commandes ne sont accessibles qu'au niveau 4.

Comme pour le kick et le ban, ces 2 commandes, sont invisibles aux yeux des autres utilisateurs, elles sont également longues et complexes à formuler. Voici donc 2 alias de derrière les fagots pour simplifier l'opération:

/ink /ctcp inkisitor say $chan *1
/act /ctcp inkisitor act $chan *1

en tapant /ink Gnaaaa puis /act aurait pu faire wraaa, on obtient ça:

<InKiSitOr> Gnaaaa
*InKiSitOr aurait pu faire wraaa

Pour les Eggdrops, il faut entrer dans la Party Line et utiliser les fonctions toutes faites .say et .act

.act lance un poulpe gluant sur ZoMboOLoO

donne ceci:

*MaxyLooZe lance un poulpe gluant sur ZoMboOLoO

Facile...


Et les commandes dans le channel?

Elles sont en réalité peu nombreuses, et accessibles par l'aide de chaque bot. Pour InKiSitOr, il faut taper !aide dans le channel, et on a une description de toutes les commandes. Pour avoir une aide détaillée sur une commande, il suffit de faire !aide commande.

En ce qui concerne les Eggdrops, seul MaxyLooZe possède un script d'écoute du channel. ZoMboOLoO n'est là que pour oper les 2 autres... et bien sur on peut accéder à sa PL via TELNET, mais il n'y a aucune commande DANS le channel.

Les commandes de MaxyLooZe sont accessibles en commencant les phrases par %

Ce sont les commandes classiques telles que %topic, %up, %down, %op, %deop, %kick, %kickban (30mn)...

BIEN SUR, IL Y A NOTRE JEU DE COMMANDE SB OPTIMISE!!! Tapez %sbaide pour avoir un aperçu :-))

Le reste n'est que littérature. Venez dans la PL si vous voulez des eclaircissements. Une aide sur les commandes utiles vous attend si vous tapez .help irc module

Chacune des commandes dispose alors de sa propre rubrique d'aide accessible par .help commande.


Tout ça c'est bien, mais comment on kick/nuke/ban/prout/choucroute du llama avec tes Eggdrops quand InKiSitOr n'est pas là?

Avec MaxyLooZe dans le channel:

%kick nick raison
%kickban nick raison (30min)
%ban nick raison (permanent)

Avec Maxy ou ZoMb dans leurs PLs respectives:

.kick nick raison
.kickban nick raison (30min)
.+ban nick raison (permanent)

Si l'incriminé n'est pas dans le channel mais dans le channel d'à coté ou si vous connaissez son host (obtenu en tapant /whois nick), mettez *! devant et * derrière le @ en n'ajoutant que le nom de domaine significatif (retirez tout ce qui indique un truc du genre ip dynamique style @ppp-131.velizy.club-internet.fr, mettez directement @*.club-internet.fr)

tapez alors:

.+ban *!oups@*.club-internet.fr

pour un ban permanent de toute personne avec ce host, quelque soit son nick.

Pour plus de précisions: .help irc module dans les PL.


Autre chose?

Oui, un truc sympa pour se laisser des messages dans les eggdrops: les NOTES.

pour me laisser un message dans MaxyLooZe ou ZoMboOLoO:

/msg MaxyLooZe NOTES password TO knarf texte de la note

On peut adresser des notes à tous les utilisateurs enregistrés sur les Eggdrops. Lorsque la personne concernée joint le channel, le bot lui fait part qu'il a une note en attente.

Pour la lire:

/msg MaxyLooZe NOTES password READ

une fois la note lue, on peut l'effacer:

/msg MaxyLooZe NOTES password ERASE

Ca marche aussi sur ZoMboOLoO!! Mais n'essayez pas trop longtemps sur InKiSitOr :-)) Il a une facheuse tendance à ne rien répondre!!!

Santa Bartelemia page sombre   Document réalisé par Knarf