Irssi (Français)
Irssi est un client IRC en ligne de commande comme WeeChat, bitchX,... Cela signifie qu'il n'a pas besoin d'environnement graphique pour fonctionner. Il est possible de lui adjoindre de nombreux scripts en perl qui étendent ses possibilités. Le tout reste très léger et modulable. Pour les plus impatients, une configuration toute prête se trouve en bas de cette page.
Installation
Vous pouvez installer irssi avec Pacman.
pacman -Syu irssi
Configuration
Il y a deux méthodes pour configurer irssi. La première consiste à éditer le fichier de configuration à l'aide de votre éditeur de texte préféré. Il s'agit du fichier ~/.irssi/config
. Si ce fichier n'est pas présent chez vous, il suffit de lancer une première fois irssi pour que le fichier soit créé automatiquement. L'autre méthode consiste à utiliser des commandes une fois le programme lancé avec possibilité de sauvegarder les changements faits dans le fichier de configuration.
Généralités
- Sous irssi, l'auto-complétion des commandes et des pseudonymes fonctionne comme dans un shell classique et ce grâce à la touche
Tab
. - Les commandes commencent toutes par
/
. - La fenêtre numéro 1 est la fenêtre de statut, celle où vous allez voir les messages des services des réseaux et d'autres messages que nous passerons en revue plus tard.
- Les commandes à vide, sans paramètre, renvoient la valeur qu'elles ont à l'instant où on les exécute.
(par exemple).
- irssi sauvegarde régulièrement les paramètres dans
~/.irssi/config
et dans~/.irssi/votre_theme_actuel.theme
. Si vous éditez l'un de ces fichiers à la main pendant qu'irssi fonctionne, n'oubliez pas de faire un/reload
, voir un/save
pour bien fixer le tout sinon vous risquez de perdre vos modifications. - La plupart des commandes renvoient leur résultat dans la fenêtre de statut : la fenêtre 1.
Ajout de réseaux
Il faut à présent se connecter à un réseau. Pour cela on va lancer ces commandes :
/ircnet
Cela va vous donnez la liste des réseaux pré-configurés.
Pour en ajouter un :
/ircnet add <nom_du_réseau> /server add <adresse_du_réseau> /server add -auto -ircnet <nom_du_réseau> <adresse_du_réseau>
Le nom du réseau est personnel, vous pouvez mettre ce que vous voulez, l'adresse quant à elle est un domaine internet, souvent porteur du sous-domaine "irc", bien qu'aucune obligation n'existe à ce niveau-là.
- Si vous utilisez freenode, Quakenet, DALnet, Undernet ou EFNet, sachez qu'ils sont déjà pré-configurés.
- L'option -auto est facultative : si vous la mettez, ce réseau sera connecté automatiquement au lancement d'irssi
La syntaxe complète est :
/SERVER ADD [-4 | -6] [-ssl] [-ssl_cert <cert>] [-ssl_pkey <pkey>] [-ssl_verify] [-ssl_cafile <cafile>] [-ssl_capath <capath>] [-auto | -noauto] [-network <network>] [-host <hostname>] [-cmdspeed <ms>] [-cmdmax <count>] [-port <port>] <address> [<port> [<password>]]
Avec dans les plus importants :
- auto: Connexion automatique au serveur au démarrage
- noauto: Pas de connexion automatique au lancement (par défaut)
- network: Spécifie quel réseau IRC est rattaché à ce serveur
- host: Spécifie le nom d'hôte si il y'en a plusieurs possibles
Pour se connecter à un réseau, rien de plus simple :
/connect <nom_du_réseau>
Ajout de canaux
Vous pouvez également définir des canaux à rejoindre sur un serveur:
/CHANNEL ADD [-auto | -noauto] [-bots <masks>] [-botcmd <command>] <channel> <network> [<password>]
Avec les arguments -bots et -botcmd vous pouvez envoyer automatiquement des commandes à quelqu'un sur le canal. Pratique pour récupérer automatiquement ses droits (op/half-op/voice) sur un canal.
Vous pouvez aussi aller dans ~/.irssi/config
et éditer la section suivante comme suit:
channels = ( { name = "#archlinux-fr"; chatnet = "freenode"; autojoin = "yes"; }, { name = "#arch-fr-off"; chatnet = "freenode"; autojoin = "yes" }, { name = "#archlinux"; chatnet = "freenode"; autojoin = "yes"; }, { name = "#archlinux64"; chatnet = "freenode"; autojoin = "yes"; }, { name = "#irssi"; chatnet = "freenode"; autojoin = "yes"; }, { name = "#ctkarch"; chatnet = "freenode"; autojoin = "yes"; }, { name = "#wmfs"; chatnet = "freenode"; } );
Pour vous identifier automatiquement, toujours dans le même fichier recherchez et rajoutez:
freenode = { type = "IRC"; autosendcmd = "/^msg -freenode nickserv IDENTIFY <votre pass>;wait -freenode 2000"; };
Ensuite un simple /reload dans irssi et /reconnect freenode et hop vous êtes en auto sur tout ces chans et identifié ! Vous pouvez bien sûr rejoindre des canaux "à la volée" :
/join #coco
Rejoint le canal #coco
/join #numero5,#coco,#loulou
Rejoint les canaux #numero5, #coco, #loulou en une seule action
/join #channel <pass>
Rejoint le canal #channel protégé par le mot de passe <pass>
/join #pv1,#public,#pv2 pass1,x,pass2
Rejoint les canaux #pv1, #public, #pv2 avec les mots de passe correspondant aux canaux.
- 'x' pour un canal sans mot de passe au milieu des autres
- Il existe des aliases de base et /j en est un. C'est l'alias de /join
Le thème
Il est stocké dans ~/.irssi
avec l'extension .theme, vous pouvez en trouver un certain nombre sur la page des thèmes.
Pour tester votre nouveau thème:
/SET theme <nom_theme_sans.theme>
Où nom_theme_sans.theme est le nom du theme que vous avez téléchargé sans l'extension ".theme". Le thème par défaut est default.theme.
Certaines variables
Il y en a beaucoup, consultez le site officiel.
Une bien sympa:
/set quit_message "C'est quoi cette commande ?"
Affiche "C'est quoi cette commande ?" quand vous fermez Irssi avec la commande /quit
/set timestamp_format %H:%M:%S
Affiche l'heure dans un format heures, minutes, secondes
/set real_name "John d'eau"
Définit votre "vrai nom"
/set alternate_nick John_bis
Définit votre pseudo alternatif en cas de déconnexion / reconnexion
- Sur freenode (et les autres réseaux IRC qui utilisent nickserv), pour tuer un "ghost" et pouvoir repasser de son alternate_nick à son nick il faut faire : /msg nickserv ghost <nick> <mot de passe d'identification>. Puis /nick <nick> vous redonnera votre pseudo.
- Toujours sur freenode (et les autre réseaux irc qui utilisent nickserv), vous pouvez "linker" (lier) vos différents pseudos pour ne pas perdre vos droits (op/half-op/voice) : /msg nickserv link pseudo_alternatif pseudo_principal <mot de passe du pseudo principal>
Créer un alias
/ALIAS <nom de l'alias> <commande>
Exemples d'aliases :
/ALIAS AME foreach channel /eval action $$C $$-; foreach query /eval action $$T $$- /ALIAS ASAY foreach channel /eval msg $$C $$-; foreach query /eval msg $$T $$-
/AME envoi un /me <votre message> sur toutes les "fenêtres" ouvertes. /ASAY envoi un message dans toutes vos fenêtres ouvertes
Upload d'un fichier : nécessite ompload-gitAUR[broken link: package not found].
/alias ompload exec -out ompload -u \"$*\";
Screenshot & upload du screen : nécessite ompload-gitAUR[broken link: package not found] et imagemagick.
/alias screen exec - import -window root /tmp/screen.png && ompload -u /tmp/screen.png;
Ajoute tout les canaux ouverts dans le fichier de configuration :
/alias ADDALLCHANNELS script exec foreach my \$channel (Irssi::channels()) { Irssi::command("channel add -auto \$channel->{name} \$channel->{server}->{tag} \$channel->{key}")\;}
Nécessite d'avoir le réseau déjà configuré et de sauvegarder la configuration ensuite avec /save.
Extensions
Irssi est déjà très puissant, mais avec l'ajout de scripts ses possibilités sont décuplées.
Exemples : flood de chan avec figlet, contrôle de xmms/mpd et autres, infos dans la barre d'activité, hilight avec commande, jonction automatique, morse, ...
Les scripts sont placés dans ~/.irssi/scripts
pour les scripts de bases et ~/.irssi/scripts/autorun
pour ceux qui doivent être lancés au démarrage.
Pour charger un script:
/script load <nom_du_script.pl>
ou
/script load autorun/<nom_du_script.pl>
Pour avoir la liste de ce qui tourne :
/script list
Pour virer un script:
/script unload <nom_du_script_sans_point_pl>
Des tonnes de scripts vous attendent sur le site officiel (autres liens en bas de la page)
tapez ceci dans irssi :
/load perl
Vous devez voir quelque chose du style :
-!- Irssi: Loaded module perl_core -!- Irssi: Loaded module fe_perl
dans la fenêtre de status(1). Ensuite, créez un fichier ~/.irssi/startup avec dedans la ligne /load perl
Et hop !Utilisation
Pour lancer l'application, c'est facile, ouvrez un terminal et lancez la commande suivante:
$ irssi
À l'aide des raccourcis suivants, vous allez pouvoir vous déplacer entre les fenêtres :
- Ctrl-N : va à la fenêtre suivante
- Ctrl-P : va à la fenêtre précédente
- Alt-X : va à la fenêtre n°X où X = 1 à 0 (=10)
Les raccourcis sont "en anglais" : P comme dans Previous/Précédente et N comme dans Next/Suivant
Ensuite, vous pouvez parler normalement. irssi offre luxe de s'adapter automatiquement au charset des canaux.
Comment avoir la liste des utilisateurs ?
/names
ou son alias :
/n
Pour parler en privé à quelqu'un: /query <nom> ou
/q <nom>
Cela ouvre une fenêtre privée avec "nom".
- /query tout court ou /window close et son alias /wc fermeront la conversation privée (/wc ferme n'importe quelle fenêtre)
- /leave ferme la fenêtre également.
Pour ignorer les messages de quelqu'un :
/ignore pseudonyme
Pour envoyer un message commençant par [votre pseudo] :
/me fait des pompes
(enverra "[votre pseudo] fait des pompes")
/nick nouveau_nick
Change de pseudo.
/exec <commande>
ou
/exec -o <commande>
Renvoie le résultat d'une commande dans le canal courant, l'option -o permet de montrer le résultat à tout le monde. Sans -o vous serez le seul à le voir.
/window move <n>
Déplace la fenêtre courante à la position <n> avec n un entier
Quand vous aurez organisé la liste des canaux comme il vous plaît, Irssi peut sans souci sauvegarder la disposition. Pour cela :
/layout save
Et au prochain lancement, les canaux se mettront dans l'ordre où ils étaient au moment du lancement de cette commande.
Fenêtre de statut
Les commandes de la fenêtre de statut :
- /list : affiche la liste des canaux du réseau sélectionné
- /who #archlinux-fr : affiche la liste des gens présents sur #archlinux-fr, par exemple
- /hilight <mot> : met en couleur ("HighLight" ou "HL") le nick de la personne qui prononce <mot>
- /dcc list : liste les fichiers disponibles par dcc
- /dcc get <nick> : pour récupérer un fichier envoyé par <nick> via dcc
- /dcc send <nick> <nom_du_fichier> : pour envoyer un fichier par dcc à nick
- /help pour avoir la liste des commandes
- /help <nom_de_la_commande> pour avoir de l'aide sur une commande particulière (quand elle existe)
Il en existe beaucoup d'autres.
La barre d'activité
C'est la barre qui est juste au-dessus de l'espace où vous tapez vos messages et commandes. Elle se compose de 3 parties :
- L'heure
- Votre pseudo avec vos droits et le canal sur lequel vous êtes
- Le reste de la barre qui, de base, contient des numéros représentant les autres fenêtres. Un numéro blanc en gras signifie que quelqu'un parlé dans cette fenêtre depuis que vous l'avez vue, un numéro bleu indique qu'il y a eu dans la fenêtre concernée des messages de service (ceux qui apparaissent en bleu) et un numéro rose/violet indique une fenêtre où vous avez été "highlighté" (soit que l'on a prononcé votre pseudo, soit qu'un mot que vous surveillez a été prononcé, c.f la commande /highlight)
Il existe des scripts pour personnaliser tout cela.
Ressources
Liste des aliases de base
Commande | Alternative | Description |
---|---|---|
/ban | /bans,/b | Bannit ou donne la liste des bans sur un canal |
/clear | /c,/cl | Purge le buffer d'un canal (efface l'écran) |
/join | /j | Rejoindre un canal |
/kick | /k | Kicker un utilisateur (le sort du canal) |
/kickban | /kb | Kicker et bannir un utilisateur (le sort et l'empêche d'y revenir) |
/msg | /m | Envoie un message privé à un utilisateur |
/unban * | /mub | Purge la liste des bans d'un canal |
/names | /n | Liste les utilisateurs dans le canal courant |
/topic | /t | Affiche/édite le topic (thème de discussion).
Astuce: utilisez /t[espace][tab] pour éditer automatiquement le topic existant
|
/window close | /wc | Force la fermeture d'une fenêtre |
/whois | /wi | WHOIS un user, c'est à dire affiche des infos sur l'utilisateur dans la fenêtre de statut |
...
Voir la liste dans ~/.irssi/config
: ( aliases = { ... } )
Exemple de configuration
Il n'y a presque rien à faire sinon éditer le fichier de configuration et lire le fichier README
Elle est en téléchargement ici: irssi.tar.gz[dead link 2021-11-12 ⓘ] ~ 280ko (dernière mise à jour le 13/11/2006)
Mini FAQ
- Mon affichage est "buggé", que faire ?
- /redraw
- Je suis obligé de copier-coller les urls que je souhaite ouvrir.
- Utiliser rxvt et ajouter dans votre ~/.Xdefaults : URxvt*cutchars: `"()'*<>[]{ }
- Il me manque des librairies perl!
- Faites une recherche sur AUR/pacman pour trouver les packages, sinon il faut les faire à la main. Elles sont toutes là : cpan.org
Liens
- https://www.irssi.org (site principal)
- https://www.irssi.org/documentation (la doc)
- http://fr.gentoo-wiki.com/Irssi[dead link 2021-11-12 ⓘ] (une super doc en français, plus pointue)
- https://www.irssi.org/themes (des thèmes)
- https://www.irssi.org/scripts (beaucoup de scripts)
- https://f0rked.com/articles/irssi (un autre article et des scripts)
- http://f0rked.com/public/irssi-docs/manual.txt[dead link 2021-11-12 ⓘ] (la doc un peu plus technique, mais pas finie ...)
- http://msk3.ath.cx/irssi/[dead link 2021-11-12 ⓘ] (des scripts)
- https://juerd.nl/site.plp/irssi (docs + scripts)
- http://www.netrusk.net/aide.php?action=irssi[dead link 2021-11-12 ⓘ] (encore de la doc)
- http://wouter.coekaerts.be/site/irssi/trigger (des scripts)
- http://chl.be/glmf/articles.linuxmag-france.org/lm32/irssi.html (doc en français avec exemples de scripts)
- https://www.irchelp.org/irchelp/ircprimer.html (toutes les commandes et l'histoire d'IRC)