Référence complète

Toutes les commandes
du réseau

397 commandes en tout : 148 pour IriX — le robot présent dans les salons et ses cinq pseudo-clients — et 249 pour Anope, le jeu de services optionnel. Choisissez ci-dessous de qui vous voulez voir les commandes ; chaque grade est vérifié à l'exécution, jamais à l'affichage.

!

Dans un salon

Préfixées par ! et tapées dans un salon où le robot est présent. Elles agissent sur ce salon.

!kick pseudo flood

En privé au robot

Envoyées en message privé au robot lui-même. Elles concernent votre compte ou la configuration globale.

/msg IriX auth motdepasse

En privé à un service

Envoyées à un pseudo-client. Il répond même si le robot est absent : ce sont deux programmes distincts.

/msg OverNick REGISTER motdepasse

Regrouper par — les deux vues portent exactement les mêmes 148 commandes, dans un ordre différent.

Hiérarchie

Grades

Hiérarchie effective, celle qu'applique ::soc::require_grade, du plus faible au plus fort.

GradeCe qu'il recouvreCommandes
public Aucune vérification — n’importe qui sur le réseau 28
user Tout le monde, une fois authentifié 5
voice Colonne csvoice 2
operateur Colonne csop — anciennement « op » 12
admin Colonne csadmin 32
proprietaire Colonne csowner — au-dessus d’admin, anciennement « owner » 3
ircops Opérateur du réseau — vérifié auprès du SERVEUR (require_ircop / require_admin), jamais par un grade en base 65
owner (Eggdrop) Owner du BOT — flag « n » du userfile Eggdrop, sans rapport avec la colonne csowner 1

Les numéros de grade ont disparu de cette page, volontairement. La table ${t}_grades numérote owner (5) sous admin (6), alors que le code place owner au-dessus. Afficher ces numéros à côté des noms revenait à donner deux hiérarchies contradictoires dans le même tableau. Seul le nom figure désormais, et c'est celui que le code applique.

Les tables ${t}_grades et ${t}_commands sont semées au démarrage mais ne sont jamais interrogées à l'exécution : tout le contrôle d'accès est codé en dur. Elles avaient donc dérivé sans que rien ne le signale — dix-neuf commandes y étaient déclarées sous un grade que le code n'applique pas, et deux n'existaient plus du tout.

Cette page l'a affirmé avant de pouvoir le prouver. Elle annonçait, depuis un réalignement du 25 juillet 2026, que les grades affichés étaient ceux du code — et dix d'entre eux ne l'étaient toujours pas le 2 août : huit commandes y passaient pour plus fermées qu'elles ne sont, une commande d'opérateur et une commande d'inscription n'y figuraient pas du tout. Depuis, un banc d'essai lit les sources d'IriX et compare, commande par commande : ce ne sont plus deux listes qu'on promet identiques, c'en est une qui contrôle l'autre.

Le rang halfop n'existe plus dans la hiérarchie : !halfop et !dehalfop sont soumis au rang op.

Eggdrop

Robot IriX

L’Eggdrop présent dans les salons. On lui parle dans un salon (commandes préfixées par « ! ») ou en privé.

public Aucune vérification — n’importe qui sur le réseau 7 commandes

Commande Description
Compte 2
auth privé S’authentifier auprès du bot
⚠ Ouverte à tous, mais sans effet sans compte enregistré — c’est par elle qu’on ouvre sa session
help privé Aide des commandes privées
Général 3
!help salon Aide
!info salon Informations du bot
⚠ Version, temps de fonctionnement, serveur et réseau — lisibles par tout le salon
!status salon Statut détaillé
⚠ Nombre de comptes et de salons enregistrés — lisibles par tout le salon
Premier lancement 2
hello privé Premier contact et orientation
⚠ Ouverte à tous — elle ne crée qu’un handle Eggdrop, sans aucun droit
pass privé Définition du mot de passe initial
⚠ Refusée dès qu’un owner existe sur le réseau ; ensuite, voir « pass » ci-dessous

user Tout le monde, une fois authentifié 5 commandes

Commande Description
Automatismes 1
!listpub salon Lister les messages périodiques
Compte 2
deauth privé Terminer sa session
pass privé Changer son propre mot de passe (6 caractères minimum)
⚠ Exige une session ouverte, sauf mot de passe encore vide
Général 1
!stats salon Statistiques
Salons et comptes 1
!chanlist salon Liste des salons

voice Colonne csvoice 2 commandes

Commande Description
Modes et sanctions 2
!devoice / !dv salon Retirer -v
!voice / !v salon Donner +v

operateur Colonne csop — anciennement « op » 12 commandes

Commande Description
Modes et sanctions 8
!ban / !b salon Bannir
!dehalfop / !dh salon Retirer -h
!deop / !do salon Retirer -o
!halfop / !h salon Donner +h
!kick / !k salon Expulser une personne
!op / !o salon Donner +o
!topic / !t salon Changer le sujet du salon
!unban / !ub salon Lever un ban
Salons et comptes 4
!delban salon Supprimer un ban persistant
!delvoice salon Supprimer un voice
!newban <masque|pseudo> [durée] [raison] salon Ban persistant — durée en 30m, 2h, 7d ou 4w ; omise, le ban est permanent
!newvoice salon Enregistrer un voice

admin Colonne csadmin 32 commandes

Commande Description
Automatismes 7
!addmot salon Ajouter un mot interdit
!addpub salon Ajouter un message périodique
!autoset salon Activer ou désactiver un automatisme
!autoshow salon Configuration automatique du salon
!delmot salon Supprimer un mot interdit
!delpub salon Supprimer un message périodique
!listmot salon Lister les mots interdits
Exploitation 2
rehash privé Recharger la configuration Eggdrop
reload privé Recharger IriX-sql.tcl
Général 6
!events salon Journal des événements
!join / !j salon Rejoindre un salon
!part salon Quitter un salon
!say salon Envoyer un message dans un salon
!servers salon Serveurs connectés
!sessions salon Sessions actives
Modes et sanctions 5
!banall salon Bannir tout le salon
!invite / !i salon Inviter une personne
!kickall salon Expulser tout le salon
!mode / !m salon Modes du salon
!unbanall salon Lever tous les bans
Salons 2
regchan privé Enregistrer un salon
unreg privé Supprimer un salon
Salons et comptes 10
!banperm <masque> [raison] salon Ban permanent sur TOUT le réseau — posé sur tous les salons enregistrés, et conservé pour ceux à venir. Masque complet exigé ; « *!*@* » est refusé
!deladmin salon Supprimer un admin
!delop salon Supprimer un op
!newcsadmin salon Enregistrer un csadmin
!newop salon Enregistrer un op
!regchan salon Enregistrer un salon
!suspendchans salon Suspendre un salon
!unreg salon Supprimer un salon
!unsuspendchans salon Rétablir un salon
!userlist salon Liste des comptes

proprietaire Colonne csowner — au-dessus d’admin, anciennement « owner » 3 commandes

Commande Description
Salons 1
newchanlog privé Définir le salon d’administration et de journal
Salons et comptes 2
!delowner salon Supprimer un owner
!newowner salon Enregistrer un owner

ircops Opérateur du réseau — vérifié auprès du SERVEUR (require_ircop / require_admin), jamais par un grade en base 22 commandes

Commande Description
Comptes du site 1
approve privé Valider la réinitialisation d’un mot de passe du site à la place du titulaire
⚠ Remplace la preuve de présence sur IRC, rien d’autre : le lien reçu par courriel reste exigé
Lien ULine 8
!ulauto salon Activer ou couper la reconnexion automatique
!ulcmd salon Commande brute, journalisée
!ulcmdq salon Commande brute, silencieuse
!ulinestatus salon État réel des liens ULine
!ullist salon Lister les ULines
!ulnew salon Créer une ULine supplémentaire
!ulstart salon Démarrer une ULine
!ulstop salon Arrêter une ULine
Modération IA 8
!iaapprove salon Valider un message et l’apprendre comme légitime
!iapurge salon Purger les entrées et verdicts expirés
!iaqueue salon File de quarantaine en attente
!iareject salon Rejeter un message et l’apprendre comme abusif
!iaset salon Paramètres IA du salon
!iashow salon Configuration et statistiques du salon
!iastats salon Statistiques globales du moteur
!iatrain salon Entraînement manuel, positif ou négatif
Pilotage des services 4
!svcconnect salon Injecter un service sur son socket
!svcdisconnect salon Retirer un service et purger ses registres
!svcset salon Éditer l’identité d’un service
!svcstatus salon État des services et de leur socket
Salons et comptes 1
!nickexpire salon Balayer les réservations de pseudo échues

owner (Eggdrop) Owner du BOT — flag « n » du userfile Eggdrop, sans rapport avec la colonne csowner 1 commande

Commande Description
Premier lancement 1
syncowner privé Synchronisation de l’owner initial
⚠ Owner EGGDROP — flag n du fichier .user, avec son mot de passe Eggdrop. Ce n’est pas le grade owner d’un salon, qui ne donne aucun droit ici
Pseudo-clients

Services socket

Les cinq pseudo-clients injectés sur le lien serveur-à-serveur. On ne leur parle qu’en privé, chacun sur son propre jeu.

ServiceRealnameRôleDomaine
OverTchat Gardien des Salons chan Modération et gestion des salons
OverHub Concentrateur Réseau hub Vue réseau, compteurs, globops
OverNick Gestionnaire de Nicks nick Enregistrement et identification
OverBot Gestionnaire de Bots bot Bots, ops et messages de service
OverWeb Passerelle Web web Compteurs pour l’interface web

Le rôle est déduit du realname, pas codé en dur, avec repli sur le nick puis stockage en base. Un realname non reconnu donne le rôle generic : seules les commandes communes répondent alors.

public Aucune vérification — n’importe qui sur le réseau 21 commandes

Commande Service Description
Communes à tous les services 4
APPEL [motif] tous Demander l’intervention d’un opérateur — un appel toutes les 3 min
HELP tous Aide contextuelle au rôle du service
STATUS tous Rôle, socket et état du lien
VERSION tous Version du service et d’Eggdrop
OverBot — rôle bot 1
LIST OverBot Bots et ops enregistrés
OverHub — rôle hub 5
CHANS OverHub Salons enregistrés
MAP OverHub Liste des serveurs et leur état
SERVERS OverHub Serveurs en ligne
STATS OverHub Vue d’ensemble : comptes, salons, sessions
USERS OverHub Sessions ouvertes
OverNick — rôle nick 7
DROP <pass> OverNick Supprime son propre enregistrement
GHOST <pseudo> <pass> OverNick Libère un pseudo resté connecté (fantôme après coupure)
IDENTIFY <pass> OverNick Identification — pose auth=oui
INFO [pseudo] OverNick Fiche d’un pseudo enregistré
RECUP <pass> OverNick Reprend son pseudo, identifie, et ferme la connexion qui l’occupait — le pseudo est dérivé du pseudo de repli
REGISTER <pass> [courriel] OverNick Enregistre le pseudo du demandeur
VERIFY <code> OverNick Valide son inscription au site — code affiché sur le site, retapé depuis le pseudo concerné
OverTchat — rôle chan 2
INFO <#salon> OverTchat Fiche du salon enregistré
LIST OverTchat Salons enregistrés (30 au maximum)
OverWeb — rôle web 2
PING OverWeb Test de vie
STATS OverWeb Comptes, salons, sessions, bans

ircops Opérateur du réseau — vérifié auprès du SERVEUR (require_ircop / require_admin), jamais par un grade en base 43 commandes

Commande Service Description
OverBot — rôle bot 21
ACT <#salon> <texte> OverBot Action CTCP dans un salon
ADDBOT <robot> <#salon> <compte> OverBot Enregistrer un robot pour son propriétaire — le secret n’est affiché qu’une fois
BADADD <masque> [motif] OverBot Refuser un pseudonyme de robot à l’enregistrement
BADDEL <masque> OverBot Lever un refus de pseudonyme
BADLIST OverBot Masques refusés, avec l’auteur et la date de chaque ajout
BOTINFO <robot|#salon> OverBot Fiche d’un robot enregistré — sans son secret, qui ne se relit jamais
BOTLIST OverBot Robots enregistrés et leur affectation
DELBOT <robot|#salon> OverBot Retirer un robot du registre
MANDAT <robot> <#salon> <compte> [pouvoirs] [jours] OverBot Prêter un robot du réseau à un salon — pouvoirs parmi kick, ban, voice, topic, mode, invite ; 0 jour = sans terme
MANDATFIN <#salon> [motif] OverBot Terminer un prêt — la fin est écrite et relue, puis le robot reçoit l’ordre de sortir du salon
MANDATINFO <#salon> OverBot Fiche d’un prêt : pouvoirs, échéance, et si le robot siège VRAIMENT
MANDATLIST OverBot Prêts en cours, échéances comprises
MANDATOFF <#salon> OverBot Suspendre un prêt sans le défaire — le mandat reste, mais ne donne plus rien
MANDATON <#salon> OverBot Rétablir un prêt suspendu
OPBOTADD <robot> [places] OverBot Déclarer un robot du réseau — 20 salons par défaut. Le déclarer ne le fait pas exister
OPBOTDEL <robot> OverBot Retirer un robot du réseau — refusé tant qu’il sert des salons
OPBOTLIST OverBot Robots du réseau : le déclaré, l’observé, l’âge de l’observation et les places libres
OPBOTMAX <robot> <places> OverBot Changer son plafond de salons — zéro ferme la porte aux nouveaux sans rien retirer
OPBOTOFF <robot> OverBot Couper un robot du réseau — il garde ses salons, mais n’en reçoit plus de nouveaux
OPBOTON <robot> OverBot Remettre un robot du réseau en service
SAY <#salon> <texte> OverBot Message du service dans un salon
OverHub — rôle hub 13
CHGHOST <pseudo> <hôte> OverHub Change l’hôte affiché
CHGIDENT <pseudo> <ident> OverHub Change l’ident
GLINE [durée] <masque> <raison> OverHub Bannit user@host du réseau — durées : 30s, 30m, 2h, 7d, 1w
GLINELIST OverHub Bannissements de masque posés par les services
GLOBOPS <message> OverHub Message adressé aux opérateurs
KILL <pseudo> [raison] OverHub Déconnecte du réseau
SAJOIN <pseudo> <#salon> OverHub Fait rejoindre un salon d’autorité
SAPART <pseudo> <#salon> [raison] OverHub Fait quitter un salon d’autorité
SVSNICK <pseudo> <nouveau> OverHub Renomme d’autorité — refusé si le pseudo est occupé
UNGLINE <masque> OverHub Lève un bannissement de masque
UNZLINE <ip> OverHub Lève un bannissement d’adresse IP
ZLINE [durée] <ip> <raison> OverHub Bannit une adresse IP du réseau
ZLINELIST OverHub Bannissements d’IP posés par les services
OverNick — rôle nick 1
LIST OverNick Pseudos enregistrés (30 au maximum)
OverTchat — rôle chan 8
BAN / UNBAN <#salon> <masque> OverTchat Pose et retrait de ban
HALFOP / DEHALFOP <#salon> [pseudo] OverTchat Statut halfop
INVITE <#salon> [pseudo] OverTchat Invitation
KICK <#salon> <pseudo> [raison] OverTchat Expulsion
MODE <#salon> <modes> OverTchat Modes bruts
OP / DEOP <#salon> [pseudo] OverTchat Statut op — cible par défaut : le demandeur
TOPIC <#salon> <texte> OverTchat Changement de sujet
VOICE / DEVOICE <#salon> [pseudo] OverTchat Voix
Sécurité

Mots de passe et accès opérateur

Aucun mot de passe n'est stocké en clair. Les mots de passe des comptes sont hachés côté MySQL avec SHA2(..., 256), à l'enregistrement comme à la vérification. Ni le robot, ni le panel d'administration, ni les journaux ne conservent la valeur saisie.

L'accès IRCop est vérifié en base. Une commande de niveau ircops est accordée si l'UID source porte réellement l'umode +o côté serveur, ou si le pseudo résolu est déclaré en base avec is_oper et une session auth ouverte. Porter +o sur IRC ne suffit donc pas si le compte n'existe pas, et un compte déclaré ne suffit pas sans session ouverte.

Les cinq services en détail Charte d'utilisation