Work in progress here… Be my guest!
Cette page est prévue pour contenir ultimement tout mon knowledge sur WeeChat, ou au moins une grande partie d'icelui. Feel free to contribute, mais pour l'instant je n'ai pas encore fini de dumper tout ce que je sais.
Utiliser WeeChat
Cette page ne se veut pas une documentation exhaustive sur comment utiliser WeeChat. Il s'agit juste d'expliquer le fonctionnement de base et de donner plus ou moins pêle-mêle pas mal d'astuces sympathiques.
N'hésitez pas à utiliser /help ou /help <une commande> pour avoir, dans WeeChat même, de l'aide générale ou sur une commande particulière.
Pour une documentation plus exhaustive, référez-vous au Guide de démarrage rapide WeeChat ou carrément au Guide utilisateur WeeChat, en français, clair, bien organisé, à jour et très complet.
Sommaire
Utilisation basique
Commencement
En premier lieu, vous avez a priori envie de vous connecter à un serveur IRC. On prendra celui du Crans comme exemple. La première ligne ajoute le serveur dans weechat, la seconde permet de s'y connecter.
/server add "nom_que_vous_voulez_donner" irc.crans.org /connect "nom_que_vous_avez_donné"
Une fois arrivé, vous voulez choisir votre pseudo.
/nick MonPseudo
Everyday life
Pour rejoindre des channels :
/join #channel
Pour ouvrir une conversation privée avec quelqu'un :
/query pseudo
Chaque channel/query que vous rejoindrez/ouvrirez sera mis dans un nouveau buffer. C'est-à-dire, un nouvel onglet. Ils sont numérotés et vous pouvez naviguer de l'un à l'autre.
Quelques raccourcis clavier
- Alt + flèche gauche/droite : passer au buffer précédent/suivant
- F5/F6 : passer au buffer précédent/suivant
- Alt + 1/2/…/9/0 (nécessite donc probablement d'ajouter Shift pour faire le chiffre) : aller au buffer 1/2/…/9/10
- Alt + A : aller au premier buffer parmi ceux où il y a eu de l'activité
PgUp(⇞)/PgDown(⇟) : naviguer dans l'historique du channel
- Up(↑)/Down(↓) : naviguer dans l'historique des messages/commandes envoyées
TAB : la tab-complétion marche sous WeeChat ! Pour les noms de buffers, de channels, de paramètres, les commandes, les pseudos des gens présents sur le channel, et tellement plus à découvrir !
- Alt + U : remonter l'historique du channel jusqu'au dernier message qu'on a vu
Alt + L : raccourci pour /window bare
- Alt + J + xx (numéro à deux chiffres) : aller au buffer correspondant
Quelques commandes utiles
# Quitter le channel /leave Message à écrire en partant (facultatif) # Fermer le buffer où vous êtes (cela vous fera automatiquement quitter le # channel correspondant ou le serveur si il s'agit d'un buffer serveur) /buffer close # Aller à un buffer particulier /buffer 42
# Changer le topic d'un channel (si le channel a le mode +t, nécessite d'être au moins half-op) /topic Nouveau topic # Enlever le topic d'un channel /topic -delete
# Éjecter quelqu'un (nécessite d'être au moins half-op, et ne permet que d'éjecter quelqu'un d'un niveau d'accès inférieur ou égal au sien) /kick cible raison du kick (facultatif) # Bannir quelqu'un (une fois dehors, il ne pourra pas revenir). Les jokers * sont autorisés. (Nécessite d'être au moins half-op sur le channel) /ban nickname!username@hostname # Voir la liste des bans /ban # Enlever un ban (nécessite de donner le ban exact, spécifier un masque avec des jokers en incluant un autre ne marche pas) /unban nickname!username@hostname # Inviter quelqu'un sur le channel (cela le notifie qu'il a été invité, et c'est indispensable pour entrer sur les channels avec le mode +i, nécessite d'être au moins half-op sur le channel ou qu'il ait le mode +A) /invite pseudo
# Ajouter un mode au channel (nécessite généralement d'être au moins op sur le channel) /mode +A # Enlever un mode au channel /mode -t # Ajouter un mode à un utilisateur sur le channel (nécessite des droits variables sur le channel en fonction du mode que vous voulez ajouter) /mode +v pseudo # Enlever un mode à un utilisateur sur le channel /mode -o pseudo
Plus d'informations sur les différents modes ici pour les channels et ici pour les utilisateurs. Attention, ceci est valable pour le serveur du Crans (à savoir, inspircd), d'autres serveurs peuvent avoir des modes différents. Se référer à leur documentation.
On notera que les commandes /ban, /unban, /op, /deop, /halfop, /dehalfop, /voice et /devoice sont simplement des sucres syntaxiques pour respectivement /mode +b, /mode -b, /mode +o, /mode -o, /mode +h, /mode -h, /mode +v et /mode -v.1
# Pour connaître la version du serveur IRC qui vous écoute /version
Quitter
Pour quitter complètement le client IRC : Attention, vous n'avez probablement jamais envie de faire ça, surtout si vous êtes dans un screen.
/quit Message à écrire sur tous les channels en partant (facultatif)
Bien que cela sorte du cadre strict d'un tutoriel sur WeeChat, on rappelle ici :
- Si, justement, vous êtes dans un screen, la méthode propre pour le détacher est Ctrl+A suivi de D. Vous avez alors laissé votre client tourner en arrière plan dans votre screen.
- Vous pouvez ensuite quitter la connexion ssh que vous utilisez probablement avec Ctrl+D.
Fabriquer sa configuration
Vous avez probablement envie que WeeChat mémorise d'une fois sur l'autre à quel serveur vous vous connectez, votre pseudo, les channels sur lesquels vous allez, etc…
Il est possible de configurer entièrement WeeChat en lui envoyant des commandes. Il faut toujours penser à exécuter /save à la fin pour que WeeChat écrive la configuration dans ses fichiers, où il ira la chercher la prochaine fois qu'il se lancera. Si vous avez modifié la configuration directement à la main dans les fichiers ~/.weechat/*.conf et que vous voulez que votre WeeChat déjà lancé la prenne en compte : /reload.
Beaucoup de paramètres de configuration se modifient avec /set paramètre valeur. Si vous tapez simplement /set paramètre vous verrez sa valeur courante et sa valeur par défaut si elle différente.
Pour avoir une description d'un paramètre (ainsi que son type, ses valeurs possible, sa valeur par défaut et sa valeur courante), vous pouvez utiliser /help paramètre (ne marche pas pour les paramètres de certains plugins).
Enfin, vous pouvez utiliser un joker pour pour trouver tous les paramètres contenant une chaîne de caractères : /set *nicklist*.
Tout faire tout seul au début
Le serveur
Enregistrer le serveur IRC auquel vous voulez vous connecter :
/server add nomduserveur irc.crans.org -autoconnect
avec nomduserveur le nom que vous voulez donner à ce serveur.
L'option -autoconnect est facultative et signifie que la connexion à ce serveur sera établie au lancement de WeeChat.
Vous pouvez également vous connecter ou vous déconnecter manuellement de ce serveur :
/connect nomduserveur /disconnect nomduserveur
Le pseudo
Pour s'épargner l'étape du /nick, vous pouvez spécifier quel est le pseudo que vous voulez utiliser. Enfin, je dis "le", mais en fait, il est plus prudent d'en spécifier plusieurs. Ainsi, si votre premier pseudo est utilisé au moment où vous vous connectez, vous utiliserez le deuxième, et ainsi de suite.
/set irc.server_default.nicks Pseudo1,Pseudo2,Pseudo3
il n'y a pas particulièrement de limite au nombre de pseudos.
Ceci est le paramètre pour que ces pseudos soient utilisés sur tous les serveurs où vous vous connecterez. Y compris ceux auxquels vous vous connecterez manuellement, même si il ne sont pas enregistrés dans la configuration.
Vous pouvez override ce comportement pour un serveur particulier :
/set irc.server.nomduserveur.nicks MeilleurPseudo1,MeilleurPseudo2
Supposons que votre pseudo soit enregistré auprès de NickServ, vous avez sans doute envie que WeeChat vous authentifie automatiquement lorsque la connexion au serveur est établie :
/set irc.server.nomduserveur.command /msg NickServ IDENTIFY MotDePasseNickServ
Vous pouvez également choisir de ne pas rejoindre les canaux (cf section suivante) tout de suite après l'exécution de la commande mais de patienter un peu, grâce à irc.server.nomduserveur.command_delay (en secondes).
Ceci vous oblige à écrire le mot de passe d'authentification de votre pseudo auprès de NickServ en clair dans votre configuration WeeChat. Bien qu'elle ne soit normalement accessible qu'à vous, ce n'est pas forcément une excellente idée. Se référer au paragraphe Secured data pour savoir comment faire en sorte de mettre le mot de passe, mais pas en clair.
Les channels
Choisir les channels que vous voulez rejoindre automatiquement à la connexion au serveur :
/set irc.server.nomduserveur.autojoin "#general,#flood"
Configurer WeeChat pour qu'il revienne automatiquement sur un channel suite à un kick. Attention, ce comportement est souvent très mal vu et vaut souvent un ban dans la foulée.
/set irc.server.nomduserver.autorejoin on # délai à attendre avant le rejoin (en secondes) /set irc.server.crans.autorejoin_delay 30
À ce stade, vous devez avoir le minimum vital, et peut-être même un peu plus. N'oubliez pas de /save sinon cette belle configuration sera perdue à l'extinction de WeeChat alors que tout le but était de conserver ces données en cas de coupure, qu'elle soit intentionnelle ou non.
Enfin, si vous vous mettez à les utiliser sur plusieurs pseudos, c'est plus compliqué que ça… (1)