Astuces WeeChat

From FlashTux

Jump to: navigation, search

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

Personal tools