Sie können WeeChat auch extern steuern, indem sie Kommandos oder Text an eine sogen. pipe übergeben (sie müssen die Option "irc_fifo_pipe" anschalten, die normalerweise abgeschaltet ist).
Diese pipe liegt in "~/.weechat/
" und hat den Namen
"weechat_fifo_xxxxx" (das xxxxx ist die Prozess-ID (PID) eines laufenden WeeChat).
Wenn mehrere Instanzen von WeeChat laufen, sind mehrere pipes vorhanden, eine
für jede Instanz.
Der Syntax für ein pipe-Kommando ist:
server,channel *Text oder Kommando
wobei Server und Channel optional sind, aber wenn der Channel angegeben ist, muss der Server auch angegeben werden.
Einige Beispiele:
Ändern des Nicks auf freenode in "mynick|out" :
$
echo 'freenode */nick mynick|out' >~/.weechat/weechat_fifo_12345
Senden einer Nachricht an #weechat:
$
echo 'freenode,#weechat *hello everybody!' >~/.weechat/weechat_fifo_12345
Senden einer Nachricht an den gegenwärtigen Channel (Puffer, der in WeeChat angezeigt wird):
$
echo '*hello!' >~/.weechat/weechat_fifo_12345
Warnung: Das ist gefährlich und sie sollten das nicht tun, ausgenommen sie wissen was sie tun!
Sende zwei Kommandos um (alle) Perl-Skripte abzuschalten/neu zu laden (getrennt durch ein "\n"):
$
echo -e "freenode */perl unload\nfreenode */perl autoload" >~/.weechat/weechat_fifo_12345
Sie können ein Skript schreiben, um ein Kommando an alle laufenden WeeChat-Instanzen zu senden, zum Beispiel:
#!/bin/sh if [ $# -eq 1 ]; then for fifo in $(/bin/ls ~/.weechat/weechat_fifo_* 2>/dev/null); do echo -e "$1" >$fifo done fi
Wenn das Skript "auto_weechat_command" heisst, können sie es folgendermassen aufrufen:
$
./auto_weechat_command "freenode,#weechat *hello"