Astuces WeeChat
From FlashTux
English | Français | Español | (+/-)
Contrôle à distance
Depuis la version 0.1.1 vous pouvez contrôler WeeChat à distance, en envoyant des commandes ou du texte dans un tube FIFO (l'option "irc_fifo_pipe" doit être activée, elle est désactivée par défaut).
Le tube FIFO est dans le répertoire ~/.weechat/ et s'appelle "weechat_fifo_xxxxx" (où xxxxx est l'ID du processus (PID) du WeeChat qui tourne).
Donc si plusieurs WeeChat tournent, vous avez plusieurs tubes FIFO, un pour chaque session.
La syntaxe pour envoyer des commandes ou du texte dans le tube FIFO est la suivante :
serveur,canal *texte ou commande ici
où le serveur et le canal sont facultatifs, mais si le canal est là, le serveur doit l'être aussi.
Quelques exemples :
- changement du pseudo sur freenode en "pseudo|absent":
-
echo "freenode */nick pseudo|absent" >~/.weechat/weechat_fifo_12345
- affichage de texte sur le canal #weechat :
-
echo "freenode,#weechat *bonjour tout le monde !" >~/.weechat/weechat_fifo_12345
- affichage de texte sur le canal courant (le tampon affiché par WeeChat, ceci est dangereux et vous ne devriez pas le faire sauf si vous savez ce que vous faites !)
-
echo "*bonjour !" >~/.weechat/weechat_fifo_12345
- envoyer deux commandes pour décharger/recharger les scripts Perl (vous devez les séparer par \n):
-
echo -e "freenode */perl unload\nfreenode */perl autoload" >~/.weechat/weechat_fifo_12345
Vous pouvez écrire un script qui envoie les commandes à tous les WeeChat qui tournent en même temps, par exemple :
#!/bin/sh
if [ $# -eq 1 ]; then
for fifo in $(/bin/ls ~/.weechat/weechat_fifo_* 2>/dev/null); do
echo -e "$1" >$fifo
done
fi
Si le script s'appelle "auto_weechat_command", vous pouvez le lancer ainsi :
-
./auto_weechat_command "freenode,#weechat *bonjour"
Ecrit par FlashCode

