summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog.asciidoc1
-rw-r--r--doc/de/autogen/user/irc_commands.txt22
-rw-r--r--doc/en/autogen/user/irc_commands.txt22
-rw-r--r--doc/fr/autogen/user/irc_commands.txt22
-rw-r--r--doc/it/autogen/user/irc_commands.txt22
-rw-r--r--doc/ja/autogen/user/irc_commands.txt22
-rw-r--r--doc/pl/autogen/user/irc_commands.txt22
-rw-r--r--po/cs.po43
-rw-r--r--po/de.po50
-rw-r--r--po/es.po45
-rw-r--r--po/fr.po49
-rw-r--r--po/hu.po29
-rw-r--r--po/it.po44
-rw-r--r--po/ja.po45
-rw-r--r--po/pl.po45
-rw-r--r--po/pt_BR.po28
-rw-r--r--po/ru.po29
-rw-r--r--po/tr.po28
-rw-r--r--po/weechat.pot27
-rw-r--r--src/plugins/irc/irc-command.c82
20 files changed, 662 insertions, 15 deletions
diff --git a/ChangeLog.asciidoc b/ChangeLog.asciidoc
index cfb1107ad..3e104ee96 100644
--- a/ChangeLog.asciidoc
+++ b/ChangeLog.asciidoc
@@ -70,6 +70,7 @@ http://weechat.org/files/releasenotes/ReleaseNotes-devel.html[release notes]
* alias: change default command for alias /beep to "/print -beep"
* exec: add exec plugin: new command /exec and file exec.conf
* guile: fix module used after unload of a script
+* irc: add command /allpv (task #13111)
* irc: fix truncated read on socket with SSL (bug #41558)
* irc: add "#" before any channel in /join, even /join 0 (closes #20)
* irc: display output of CAP LIST in server buffer
diff --git a/doc/de/autogen/user/irc_commands.txt b/doc/de/autogen/user/irc_commands.txt
index fb489eaad..4bbc77c1c 100644
--- a/doc/de/autogen/user/irc_commands.txt
+++ b/doc/de/autogen/user/irc_commands.txt
@@ -27,6 +27,28 @@ Beispiele:
/allchan -exclude=#weechat,#linux* msg * Hallo Welt
----
+[[command_irc_allpv]]
+[command]*`allpv`* execute a command on all private buffers of all connected servers::
+
+----
+/allpv [-current] [-exclude=<nick>[,<nick>...]] <command> [<arguments>]
+
+ -current: execute command for private buffers of current server only
+ -exclude: exclude some nicks ('*' is allowed at beginning or end of nick name, to exclude many nicks)
+ command: command to execute
+arguments: arguments for command (special variables $nick, $channel and $server are replaced by their value)
+
+Examples:
+ execute '/me is testing' on all private buffers:
+ /allpv me is testing
+ say 'hello' everywhere but not for nick foo:
+ /allpv -exclude=foo msg * hello
+ say 'hello' everywhere but not for nick foo and nicks beginning with bar:
+ /allpv -exclude=foo,bar* msg * hello
+ close all private buffers:
+ /allpv close
+----
+
[[command_irc_allserv]]
[command]*`allserv`* führt einen Befehl aus, der zu allen verbundenen Server gesendet wird::
diff --git a/doc/en/autogen/user/irc_commands.txt b/doc/en/autogen/user/irc_commands.txt
index 9ebb51081..a5a0c0725 100644
--- a/doc/en/autogen/user/irc_commands.txt
+++ b/doc/en/autogen/user/irc_commands.txt
@@ -27,6 +27,28 @@ Examples:
/allchan -exclude=#weechat,#linux* msg * hello
----
+[[command_irc_allpv]]
+[command]*`allpv`* execute a command on all private buffers of all connected servers::
+
+----
+/allpv [-current] [-exclude=<nick>[,<nick>...]] <command> [<arguments>]
+
+ -current: execute command for private buffers of current server only
+ -exclude: exclude some nicks ('*' is allowed at beginning or end of nick name, to exclude many nicks)
+ command: command to execute
+arguments: arguments for command (special variables $nick, $channel and $server are replaced by their value)
+
+Examples:
+ execute '/me is testing' on all private buffers:
+ /allpv me is testing
+ say 'hello' everywhere but not for nick foo:
+ /allpv -exclude=foo msg * hello
+ say 'hello' everywhere but not for nick foo and nicks beginning with bar:
+ /allpv -exclude=foo,bar* msg * hello
+ close all private buffers:
+ /allpv close
+----
+
[[command_irc_allserv]]
[command]*`allserv`* execute a command on all connected servers::
diff --git a/doc/fr/autogen/user/irc_commands.txt b/doc/fr/autogen/user/irc_commands.txt
index 71ee7ad30..c0f2557da 100644
--- a/doc/fr/autogen/user/irc_commands.txt
+++ b/doc/fr/autogen/user/irc_commands.txt
@@ -27,6 +27,28 @@ Exemples:
/allchan -exclude=#weechat,#linux* msg * bonjour
----
+[[command_irc_allpv]]
+[command]*`allpv`* exécuter une commande sur tous les tampons privés de tous les serveurs connectés::
+
+----
+/allpv [-current] [-exclude=<pseudo>[,<pseudo>...]] <commande> [<paramètres>]
+
+ -current: exécuter la commande pour les tampons privés du serveur courant seulement
+ -exclude: exclure certains pseudos ('*' est autorisé au début ou à la fin du pseudo, pour exclure plusieurs pseudos)
+ commande: commande à exécuter
+paramètres: paramètres pour la commande (les variables spéciales $nick, $channel et $server sont remplacées par leur valeur)
+
+Exemples:
+ exécuter '/me teste' sur tous les tampons privés:
+ /allpv me teste
+ dire 'bonjour' partout sauf sur pour le pseudo foo:
+ /allpv -exclude=foo msg * bonjour
+ dire 'bonjour' partout sauf pour le pseudo foo et les pseudos commençant par bar:
+ /allpv -exclude=foo,bar* msg * bonjour
+ fermer tous les tampons privés:
+ /allpv close
+----
+
[[command_irc_allserv]]
[command]*`allserv`* exécuter une commande sur tous les serveurs connectés::
diff --git a/doc/it/autogen/user/irc_commands.txt b/doc/it/autogen/user/irc_commands.txt
index 2fb651258..88e152f8a 100644
--- a/doc/it/autogen/user/irc_commands.txt
+++ b/doc/it/autogen/user/irc_commands.txt
@@ -27,6 +27,28 @@ Examples:
/allchan -exclude=#weechat,#linux* msg * hello
----
+[[command_irc_allpv]]
+[command]*`allpv`* execute a command on all private buffers of all connected servers::
+
+----
+/allpv [-current] [-exclude=<nick>[,<nick>...]] <command> [<arguments>]
+
+ -current: execute command for private buffers of current server only
+ -exclude: exclude some nicks ('*' is allowed at beginning or end of nick name, to exclude many nicks)
+ command: command to execute
+arguments: arguments for command (special variables $nick, $channel and $server are replaced by their value)
+
+Examples:
+ execute '/me is testing' on all private buffers:
+ /allpv me is testing
+ say 'hello' everywhere but not for nick foo:
+ /allpv -exclude=foo msg * hello
+ say 'hello' everywhere but not for nick foo and nicks beginning with bar:
+ /allpv -exclude=foo,bar* msg * hello
+ close all private buffers:
+ /allpv close
+----
+
[[command_irc_allserv]]
[command]*`allserv`* esegue un comando su tutti i server connessi::
diff --git a/doc/ja/autogen/user/irc_commands.txt b/doc/ja/autogen/user/irc_commands.txt
index c1588b4d6..be1b98935 100644
--- a/doc/ja/autogen/user/irc_commands.txt
+++ b/doc/ja/autogen/user/irc_commands.txt
@@ -27,6 +27,28 @@ arguments: コマンドの引数 (特殊変数 $nick、$channel、$server はそ
/allchan -exclude=#weechat,#linux* msg * hello
----
+[[command_irc_allpv]]
+[command]*`allpv`* execute a command on all private buffers of all connected servers::
+
+----
+/allpv [-current] [-exclude=<nick>[,<nick>...]] <command> [<arguments>]
+
+ -current: execute command for private buffers of current server only
+ -exclude: exclude some nicks ('*' is allowed at beginning or end of nick name, to exclude many nicks)
+ command: command to execute
+arguments: arguments for command (special variables $nick, $channel and $server are replaced by their value)
+
+Examples:
+ execute '/me is testing' on all private buffers:
+ /allpv me is testing
+ say 'hello' everywhere but not for nick foo:
+ /allpv -exclude=foo msg * hello
+ say 'hello' everywhere but not for nick foo and nicks beginning with bar:
+ /allpv -exclude=foo,bar* msg * hello
+ close all private buffers:
+ /allpv close
+----
+
[[command_irc_allserv]]
[command]*`allserv`* 全ての接続済みサーバでコマンドを実行::
diff --git a/doc/pl/autogen/user/irc_commands.txt b/doc/pl/autogen/user/irc_commands.txt
index 344a3d32c..a2a0502a4 100644
--- a/doc/pl/autogen/user/irc_commands.txt
+++ b/doc/pl/autogen/user/irc_commands.txt
@@ -27,6 +27,28 @@ Przykłady:
/allchan -exclude=#weechat,#linux* msg * witam
----
+[[command_irc_allpv]]
+[command]*`allpv`* execute a command on all private buffers of all connected servers::
+
+----
+/allpv [-current] [-exclude=<nick>[,<nick>...]] <command> [<arguments>]
+
+ -current: execute command for private buffers of current server only
+ -exclude: exclude some nicks ('*' is allowed at beginning or end of nick name, to exclude many nicks)
+ command: command to execute
+arguments: arguments for command (special variables $nick, $channel and $server are replaced by their value)
+
+Examples:
+ execute '/me is testing' on all private buffers:
+ /allpv me is testing
+ say 'hello' everywhere but not for nick foo:
+ /allpv -exclude=foo msg * hello
+ say 'hello' everywhere but not for nick foo and nicks beginning with bar:
+ /allpv -exclude=foo,bar* msg * hello
+ close all private buffers:
+ /allpv close
+----
+
[[command_irc_allserv]]
[command]*`allserv`* wykonuje komendę na wszystkich połączonych serwerach::
diff --git a/po/cs.po b/po/cs.po
index b83e2b90c..487d862d3 100644
--- a/po/cs.po
+++ b/po/cs.po
@@ -20,7 +20,7 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
-"POT-Creation-Date: 2014-03-19 09:28+0100\n"
+"POT-Creation-Date: 2014-03-19 19:00+0100\n"
"PO-Revision-Date: 2014-03-18 09:20+0100\n"
"Last-Translator: Jiri Golembiovsky <golemj@gmail.com>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
@@ -5189,6 +5189,47 @@ msgstr ""
" říct 'hello' všude, kromě #weechat a kanálů začínajících #linux:\n"
" /allchan -exclude=#weechat,#linux* msg * hello"
+#, fuzzy
+msgid "execute a command on all private buffers of all connected servers"
+msgstr "vykonat příkaz na všech kanálech všech připojených serverů"
+
+#, fuzzy
+msgid "[-current] [-exclude=<nick>[,<nick>...]] <command> [<arguments>]"
+msgstr "[-current] [-exclude=<kanál>[,<kanál>...]] <příkaz> [<argumenty>]"
+
+#, fuzzy
+msgid ""
+" -current: execute command for private buffers of current server only\n"
+" -exclude: exclude some nicks ('*' is allowed at beginning or end of nick "
+"name, to exclude many nicks)\n"
+" command: command to execute\n"
+"arguments: arguments for command (special variables $nick, $channel and "
+"$server are replaced by their value)\n"
+"\n"
+"Examples:\n"
+" execute '/me is testing' on all private buffers:\n"
+" /allpv me is testing\n"
+" say 'hello' everywhere but not for nick foo:\n"
+" /allpv -exclude=foo msg * hello\n"
+" say 'hello' everywhere but not for nick foo and nicks beginning with bar:\n"
+" /allpv -exclude=foo,bar* msg * hello\n"
+" close all private buffers:\n"
+" /allpv close"
+msgstr ""
+" -current: vynechat příkaz pouze pro kanály aktuálního serveru\n"
+" -exclude: vynechat některé kanály ('*' je povolená na začátku nebo konci "
+"jména kanáku pro vynechání více kanálů)\n"
+" příkaz: příkaz, který spustit\n"
+"argumenty: argumenty příkazu\n"
+"\n"
+"Příkaldy:\n"
+" vynechat '/me is testing' na všech kanálech:\n"
+" /allchan me is testing\n"
+" říct 'hello' všude, kromě #weechat:\n"
+" /allchan -exclude=#weechat msg * hello\n"
+" říct 'hello' všude, kromě #weechat a kanálů začínajících #linux:\n"
+" /allchan -exclude=#weechat,#linux* msg * hello"
+
msgid "execute a command on all connected servers"
msgstr "vykonat příkaz na všech připojených serverech"
diff --git a/po/de.po b/po/de.po
index ee77d25d5..8dc8ad678 100644
--- a/po/de.po
+++ b/po/de.po
@@ -22,7 +22,7 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
-"POT-Creation-Date: 2014-03-19 09:28+0100\n"
+"POT-Creation-Date: 2014-03-19 19:00+0100\n"
"PO-Revision-Date: 2014-03-18 09:20+0100\n"
"Last-Translator: Nils Görs <weechatter@arcor.de>\n"
"Language-Team: German <weechatter@arcor.de>\n"
@@ -6007,6 +6007,54 @@ msgstr ""
"und Channels die mit #linux beginnen:\n"
" /allchan -exclude=#weechat,#linux* msg * Hallo Welt"
+#, fuzzy
+msgid "execute a command on all private buffers of all connected servers"
+msgstr ""
+"Führt einen Befehl aus der an alle Channels gesendet wird, die mit einem "
+"Server verbunden sind"
+
+#, fuzzy
+msgid "[-current] [-exclude=<nick>[,<nick>...]] <command> [<arguments>]"
+msgstr "[-current] [-exclude=<channel>[,<channel>...]] <command> [<arguments>]"
+
+#, fuzzy
+msgid ""
+" -current: execute command for private buffers of current server only\n"
+" -exclude: exclude some nicks ('*' is allowed at beginning or end of nick "
+"name, to exclude many nicks)\n"
+" command: command to execute\n"
+"arguments: arguments for command (special variables $nick, $channel and "
+"$server are replaced by their value)\n"
+"\n"
+"Examples:\n"
+" execute '/me is testing' on all private buffers:\n"
+" /allpv me is testing\n"
+" say 'hello' everywhere but not for nick foo:\n"
+" /allpv -exclude=foo msg * hello\n"
+" say 'hello' everywhere but not for nick foo and nicks beginning with bar:\n"
+" /allpv -exclude=foo,bar* msg * hello\n"
+" close all private buffers:\n"
+" /allpv close"
+msgstr ""
+" -current: führt einen Befehl aus der an alle Channels des aktuellen Servers "
+"gesendet wird\n"
+" -exclude: dient zum Ausschluss ausgewählter Channels ('*' wird zu Beginn "
+"oder am Ende des Channel-Namens akzeptiert, um mehrere Channels "
+"auszuschließen)\n"
+" command: Befehl der ausgeführt werden soll\n"
+"arguments: Argumente für Befehl (Variablen die genutzt werden können: $nick, "
+"$channel und $server)\n"
+"\n"
+"Beispiele:\n"
+" Führe den Befehl '/me Ich teste gerade etwas...' für alle Channels aus:\n"
+" /allchan me Ich teste gerade etwas...\n"
+" Schicke 'Hallo Welt' an jeden Channel, ausgenommen an den #weechat "
+"Channel:\n"
+" /allchan -exclude=#weechat msg * Hallo Welt\n"
+" Schicke 'Hallo Welt' an jeden Channel, ausgenommen an den #weechat Channel "
+"und Channels die mit #linux beginnen:\n"
+" /allchan -exclude=#weechat,#linux* msg * Hallo Welt"
+
msgid "execute a command on all connected servers"
msgstr "führt einen Befehl aus, der zu allen verbundenen Server gesendet wird"
diff --git a/po/es.po b/po/es.po
index 7bbbfb1b4..e57348942 100644
--- a/po/es.po
+++ b/po/es.po
@@ -22,7 +22,7 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
-"POT-Creation-Date: 2014-03-19 09:28+0100\n"
+"POT-Creation-Date: 2014-03-19 19:00+0100\n"
"PO-Revision-Date: 2014-03-18 09:20+0100\n"
"Last-Translator: Elián Hanisch <lambdae2@gmail.com>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
@@ -5405,6 +5405,49 @@ msgstr ""
"#linux:\n"
" /allchan -exclude=#weechat,#linux* msg * hola"
+#, fuzzy
+msgid "execute a command on all private buffers of all connected servers"
+msgstr ""
+"ejecuta un comando en todos los canales de todos los servidores conectados"
+
+#, fuzzy
+msgid "[-current] [-exclude=<nick>[,<nick>...]] <command> [<arguments>]"
+msgstr "[-current] [-exclude=<canal>[,<canal>...]] <comando> [<argumentos>]"
+
+#, fuzzy
+msgid ""
+" -current: execute command for private buffers of current server only\n"
+" -exclude: exclude some nicks ('*' is allowed at beginning or end of nick "
+"name, to exclude many nicks)\n"
+" command: command to execute\n"
+"arguments: arguments for command (special variables $nick, $channel and "
+"$server are replaced by their value)\n"
+"\n"
+"Examples:\n"
+" execute '/me is testing' on all private buffers:\n"
+" /allpv me is testing\n"
+" say 'hello' everywhere but not for nick foo:\n"
+" /allpv -exclude=foo msg * hello\n"
+" say 'hello' everywhere but not for nick foo and nicks beginning with bar:\n"
+" /allpv -exclude=foo,bar* msg * hello\n"
+" close all private buffers:\n"
+" /allpv close"
+msgstr ""
+" -current: ejecuta comando para los canales del servidor actual solamente\n"
+" -exclude: excluye algunos canales ('*' está permitido al principio o final "
+"del nombre del canal, para excluir varios canales)\n"
+" comando: comando a ejecutar\n"
+"argumentos: argumentos para el comando\n"
+"\n"
+"Ejemplos:\n"
+" ejecuta '/me está probando' en todos los canales:\n"
+" /allchan me está probando\n"
+" decir 'hola' en todos lados menos en #weechat:\n"
+" /allchan -exclude=#weechat msg * hola\n"
+" decir 'hola' en todos lados menos en #weechat o canales que empiecen con "
+"#linux:\n"
+" /allchan -exclude=#weechat,#linux* msg * hola"
+
msgid "execute a command on all connected servers"
msgstr "ejecuta un comando en todos los servidores conectados"
diff --git a/po/fr.po b/po/fr.po
index c7d8247de..843ccca6e 100644
--- a/po/fr.po
+++ b/po/fr.po
@@ -21,8 +21,8 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
-"POT-Creation-Date: 2014-03-19 09:28+0100\n"
-"PO-Revision-Date: 2014-03-19 09:30+0100\n"
+"POT-Creation-Date: 2014-03-19 19:00+0100\n"
+"PO-Revision-Date: 2014-03-19 19:03+0100\n"
"Last-Translator: Sébastien Helleu <flashcode@flashtux.org>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
"Language: fr\n"
@@ -5862,6 +5862,51 @@ msgstr ""
"#linux:\n"
" /allchan -exclude=#weechat,#linux* msg * bonjour"
+msgid "execute a command on all private buffers of all connected servers"
+msgstr ""
+"exécuter une commande sur tous les tampons privés de tous les serveurs "
+"connectés"
+
+msgid "[-current] [-exclude=<nick>[,<nick>...]] <command> [<arguments>]"
+msgstr "[-current] [-exclude=<pseudo>[,<pseudo>...]] <commande> [<paramètres>]"
+
+msgid ""
+" -current: execute command for private buffers of current server only\n"
+" -exclude: exclude some nicks ('*' is allowed at beginning or end of nick "
+"name, to exclude many nicks)\n"
+" command: command to execute\n"
+"arguments: arguments for command (special variables $nick, $channel and "
+"$server are replaced by their value)\n"
+"\n"
+"Examples:\n"
+" execute '/me is testing' on all private buffers:\n"
+" /allpv me is testing\n"
+" say 'hello' everywhere but not for nick foo:\n"
+" /allpv -exclude=foo msg * hello\n"
+" say 'hello' everywhere but not for nick foo and nicks beginning with bar:\n"
+" /allpv -exclude=foo,bar* msg * hello\n"
+" close all private buffers:\n"
+" /allpv close"
+msgstr ""
+" -current: exécuter la commande pour les tampons privés du serveur courant "
+"seulement\n"
+" -exclude: exclure certains pseudos ('*' est autorisé au début ou à la fin "
+"du pseudo, pour exclure plusieurs pseudos)\n"
+" commande: commande à exécuter\n"
+"paramètres: paramètres pour la commande (les variables spéciales $nick, "
+"$channel et $server sont remplacées par leur valeur)\n"
+"\n"
+"Exemples:\n"
+" exécuter '/me teste' sur tous les tampons privés:\n"
+" /allpv me teste\n"
+" dire 'bonjour' partout sauf sur pour le pseudo foo:\n"
+" /allpv -exclude=foo msg * bonjour\n"
+" dire 'bonjour' partout sauf pour le pseudo foo et les pseudos commençant "
+"par bar:\n"
+" /allpv -exclude=foo,bar* msg * bonjour\n"
+" fermer tous les tampons privés:\n"
+" /allpv close"
+
msgid "execute a command on all connected servers"
msgstr "exécuter une commande sur tous les serveurs connectés"
diff --git a/po/hu.po b/po/hu.po
index c26f8ace9..fe69afb9a 100644
--- a/po/hu.po
+++ b/po/hu.po
@@ -20,7 +20,7 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
-"POT-Creation-Date: 2014-03-19 09:28+0100\n"
+"POT-Creation-Date: 2014-03-19 19:00+0100\n"
"PO-Revision-Date: 2014-03-10 21:07+0100\n"
"Last-Translator: Andras Voroskoi <voroskoi@frugalware.org>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
@@ -4759,6 +4759,33 @@ msgid ""
msgstr ""
#, fuzzy
+msgid "execute a command on all private buffers of all connected servers"
+msgstr "CTCP üzenet küldése az összes csatlakoztatott szerver összes szobájába"
+
+#, fuzzy
+msgid "[-current] [-exclude=<nick>[,<nick>...]] <command> [<arguments>]"
+msgstr "[alias_név [parancs [paraméterek]]]"
+
+msgid ""
+" -current: execute command for private buffers of current server only\n"
+" -exclude: exclude some nicks ('*' is allowed at beginning or end of nick "
+"name, to exclude many nicks)\n"
+" command: command to execute\n"
+"arguments: arguments for command (special variables $nick, $channel and "
+"$server are replaced by their value)\n"
+"\n"
+"Examples:\n"
+" execute '/me is testing' on all private buffers:\n"
+" /allpv me is testing\n"
+" say 'hello' everywhere but not for nick foo:\n"
+" /allpv -exclude=foo msg * hello\n"
+" say 'hello' everywhere but not for nick foo and nicks beginning with bar:\n"
+" /allpv -exclude=foo,bar* msg * hello\n"
+" close all private buffers:\n"
+" /allpv close"
+msgstr ""
+
+#, fuzzy
msgid "execute a command on all connected servers"
msgstr "üzenet küldése az összes csatlakoztatott szerver összes szobájába"
diff --git a/po/it.po b/po/it.po
index 531d03ef5..2b8a4827b 100644
--- a/po/it.po
+++ b/po/it.po
@@ -20,7 +20,7 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
-"POT-Creation-Date: 2014-03-19 09:28+0100\n"
+"POT-Creation-Date: 2014-03-19 19:00+0100\n"
"PO-Revision-Date: 2014-03-18 09:21+0100\n"
"Last-Translator: Esteban I. Ruiz Moreno <exio4.com@gmail.com>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
@@ -5545,6 +5545,48 @@ msgstr ""
"#linux:\n"
" /allchan -exclude=#weechat,#linux* msg * ciao"
+#, fuzzy
+msgid "execute a command on all private buffers of all connected servers"
+msgstr "esegue un comando su tutti i canali di tutti i server connessi"
+
+#, fuzzy
+msgid "[-current] [-exclude=<nick>[,<nick>...]] <command> [<arguments>]"
+msgstr "[-current] [-exclude=<canale>[,<canale>...]] <comando> [<argomenti>]"
+
+#, fuzzy
+msgid ""
+" -current: execute command for private buffers of current server only\n"
+" -exclude: exclude some nicks ('*' is allowed at beginning or end of nick "
+"name, to exclude many nicks)\n"
+" command: command to execute\n"
+"arguments: arguments for command (special variables $nick, $channel and "
+"$server are replaced by their value)\n"
+"\n"
+"Examples:\n"
+" execute '/me is testing' on all private buffers:\n"
+" /allpv me is testing\n"
+" say 'hello' everywhere but not for nick foo:\n"
+" /allpv -exclude=foo msg * hello\n"
+" say 'hello' everywhere but not for nick foo and nicks beginning with bar:\n"
+" /allpv -exclude=foo,bar* msg * hello\n"
+" close all private buffers:\n"
+" /allpv close"
+msgstr ""
+" -current: esegue il comando solo per i canali del server corrente\n"
+" -exclude: esclude alcunu canali ('*' è consentito all'inizio o alla fine "
+"del nome del canale, per escludere più canali)\n"
+" comando: comando da eseguire\n"
+"argomenti: argomenti per il comando\n"
+"\n"
+"Esempi:\n"
+" esegue '/me sta testando' su tutti i canali:\n"
+" /allchan me is testing\n"
+" dice 'ciao' dovunque tranne che su #weechat:\n"
+" /allchan -exclude=#weechat msg * ciao\n"
+" dice 'ciao' dovunque tranne che su #weechat e i canali che iniziano con "
+"#linux:\n"
+" /allchan -exclude=#weechat,#linux* msg * ciao"
+
msgid "execute a command on all connected servers"
msgstr "esegue un comando su tutti i server connessi"
diff --git a/po/ja.po b/po/ja.po
index b9aaa7baa..72fa7eaa8 100644
--- a/po/ja.po
+++ b/po/ja.po
@@ -20,7 +20,7 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
-"POT-Creation-Date: 2014-03-19 09:28+0100\n"
+"POT-Creation-Date: 2014-03-19 19:00+0100\n"
"PO-Revision-Date: 2014-03-19 01:42+0900\n"
"Last-Translator: AYANOKOUZI, Ryuunosuke <i38w7i3@yahoo.co.jp>\n"
"Language-Team: Japanese <https://github.com/l/WeeChat>\n"
@@ -5630,6 +5630,49 @@ msgstr ""
"発言:\n"
" /allchan -exclude=#weechat,#linux* msg * hello"
+#, fuzzy
+msgid "execute a command on all private buffers of all connected servers"
+msgstr "全てのサーバ、全てのチャンネルに対してコマンドを実行"
+
+#, fuzzy
+msgid "[-current] [-exclude=<nick>[,<nick>...]] <command> [<arguments>]"
+msgstr "[-current] [-exclude=<channel>[,<channel>...]] <command> [<arguments>]"
+
+#, fuzzy
+msgid ""
+" -current: execute command for private buffers of current server only\n"
+" -exclude: exclude some nicks ('*' is allowed at beginning or end of nick "
+"name, to exclude many nicks)\n"
+" command: command to execute\n"
+"arguments: arguments for command (special variables $nick, $channel and "
+"$server are replaced by their value)\n"
+"\n"
+"Examples:\n"
+" execute '/me is testing' on all private buffers:\n"
+" /allpv me is testing\n"
+" say 'hello' everywhere but not for nick foo:\n"
+" /allpv -exclude=foo msg * hello\n"
+" say 'hello' everywhere but not for nick foo and nicks beginning with bar:\n"
+" /allpv -exclude=foo,bar* msg * hello\n"
+" close all private buffers:\n"
+" /allpv close"
+msgstr ""
+" -current: 現在のサーバ上のチャンネルに対してコマンドを実行\n"
+" -exclude: いくつかのチャンネルを除外 (複数のチャンネルを除外するには '*' を"
+"チャンネル名の最初と最後につける)\n"
+" command: 実行するコマンド\n"
+"arguments: コマンドの引数 (特殊変数 $nick、$channel、$server はそれぞれの値に"
+"置き換えられます)\n"
+"\n"
+"例:\n"
+" 全てのチャンネルに対して '/me is testing' を実行:\n"
+" /allchan me is testing\n"
+" #weechat 以外の全てのチャンネルで 'hello' と発言:\n"
+" /allchan -exclude=#weechat msg * hello\n"
+" #weechat と #linux で始まるチャンネルを除いが全てのチャンネルで 'hello' と"
+"発言:\n"
+" /allchan -exclude=#weechat,#linux* msg * hello"
+
msgid "execute a command on all connected servers"
msgstr "全ての接続済みサーバでコマンドを実行"
diff --git a/po/pl.po b/po/pl.po
index 805388f65..eef1ed432 100644
--- a/po/pl.po
+++ b/po/pl.po
@@ -21,7 +21,7 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
-"POT-Creation-Date: 2014-03-19 09:28+0100\n"
+"POT-Creation-Date: 2014-03-19 19:00+0100\n"
"PO-Revision-Date: 2014-03-18 10:47+0100\n"
"Last-Translator: Krzysztof Korościk <soltys@szluug.org>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
@@ -5669,6 +5669,49 @@ msgstr ""
"#linux:\n"
" /allchan -exclude=#weechat,#linux* msg * witam"
+#, fuzzy
+msgid "execute a command on all private buffers of all connected servers"
+msgstr "wykonuje komendę na wszystkich kanałach na połączonych serwerach"
+
+#, fuzzy
+msgid "[-current] [-exclude=<nick>[,<nick>...]] <command> [<arguments>]"
+msgstr "[-current] [-exclude=<kanał>[,<kanał>...]] <komenda> [<argumenty>]"
+
+#, fuzzy
+msgid ""
+" -current: execute command for private buffers of current server only\n"
+" -exclude: exclude some nicks ('*' is allowed at beginning or end of nick "
+"name, to exclude many nicks)\n"
+" command: command to execute\n"
+"arguments: arguments for command (special variables $nick, $channel and "
+"$server are replaced by their value)\n"
+"\n"
+"Examples:\n"
+" execute '/me is testing' on all private buffers:\n"
+" /allpv me is testing\n"
+" say 'hello' everywhere but not for nick foo:\n"
+" /allpv -exclude=foo msg * hello\n"
+" say 'hello' everywhere but not for nick foo and nicks beginning with bar:\n"
+" /allpv -exclude=foo,bar* msg * hello\n"
+" close all private buffers:\n"
+" /allpv close"
+msgstr ""
+" -current: wykonuje komendę tylko na kanałach obecnego serwera\n"
+" -exclude: wyklucza niektóre kanały ('*' jest dozwolone na początku lub "
+"końcu nazwy kanału, aby wykluczyć wiele kanałów)\n"
+" komenda: komenda do wykonania\n"
+"argumenty: argumenty dla komendy (specjalne zmienne $nick, $channel i "
+"$server są zamieniane na odpowiednie wartości)\n"
+"\n"
+"Przykłady:\n"
+" wykonuje '/me testuje' na wszystkich kanałach:\n"
+" /allchan me testuje\n"
+" mówi 'witam' wszędzie tylko nie na #weechat:\n"
+" /allchan -exclude=#weechat msg * witam\n"
+" mówi 'witam' wszędzie poza #weechat oraz kanałami zaczynającymi się od "
+"#linux:\n"
+" /allchan -exclude=#weechat,#linux* msg * witam"
+
msgid "execute a command on all connected servers"
msgstr "wykonuje komendę na wszystkich połączonych serwerach"
diff --git a/po/pt_BR.po b/po/pt_BR.po
index af4d66b7b..adb9f85d6 100644
--- a/po/pt_BR.po
+++ b/po/pt_BR.po
@@ -21,7 +21,7 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
-"POT-Creation-Date: 2014-03-19 09:28+0100\n"
+"POT-Creation-Date: 2014-03-19 19:00+0100\n"
"PO-Revision-Date: 2014-03-18 09:22+0100\n"
"Last-Translator: Sergio Durigan Junior <sergiosdj@gmail.com>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
@@ -5214,6 +5214,32 @@ msgid ""
" /allchan -exclude=#weechat,#linux* msg * hello"
msgstr ""
+msgid "execute a command on all private buffers of all connected servers"
+msgstr ""
+
+#, fuzzy
+msgid "[-current] [-exclude=<nick>[,<nick>...]] <command> [<arguments>]"
+msgstr "<apelido>[,<apelido>...] [<contador> [<target>]]"
+
+msgid ""
+" -current: execute command for private buffers of current server only\n"
+" -exclude: exclude some nicks ('*' is allowed at beginning or end of nick "
+"name, to exclude many nicks)\n"
+" command: command to execute\n"
+"arguments: arguments for command (special variables $nick, $channel and "
+"$server are replaced by their value)\n"
+"\n"
+"Examples:\n"
+" execute '/me is testing' on all private buffers:\n"
+" /allpv me is testing\n"
+" say 'hello' everywhere but not for nick foo:\n"
+" /allpv -exclude=foo msg * hello\n"
+" say 'hello' everywhere but not for nick foo and nicks beginning with bar:\n"
+" /allpv -exclude=foo,bar* msg * hello\n"
+" close all private buffers:\n"
+" /allpv close"
+msgstr ""
+
msgid "execute a command on all connected servers"
msgstr ""
diff --git a/po/ru.po b/po/ru.po
index 678046016..c9d3e7ca1 100644
--- a/po/ru.po
+++ b/po/ru.po
@@ -21,7 +21,7 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
-"POT-Creation-Date: 2014-03-19 09:28+0100\n"
+"POT-Creation-Date: 2014-03-19 19:00+0100\n"
"PO-Revision-Date: 2014-03-10 21:07+0100\n"
"Last-Translator: Aleksey V Zapparov AKA ixti <ixti@member.fsf.org>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
@@ -4795,6 +4795,33 @@ msgid ""
msgstr ""
#, fuzzy
+msgid "execute a command on all private buffers of all connected servers"
+msgstr "отправить действие на все каналы всех подключенных серверов"
+
+#, fuzzy
+msgid "[-current] [-exclude=<nick>[,<nick>...]] <command> [<arguments>]"
+msgstr "[сокращение [команда [аргументы]]]"
+
+msgid ""
+" -current: execute command for private buffers of current server only\n"
+" -exclude: exclude some nicks ('*' is allowed at beginning or end of nick "
+"name, to exclude many nicks)\n"
+" command: command to execute\n"
+"arguments: arguments for command (special variables $nick, $channel and "
+"$server are replaced by their value)\n"
+"\n"
+"Examples:\n"
+" execute '/me is testing' on all private buffers:\n"
+" /allpv me is testing\n"
+" say 'hello' everywhere but not for nick foo:\n"
+" /allpv -exclude=foo msg * hello\n"
+" say 'hello' everywhere but not for nick foo and nicks beginning with bar:\n"
+" /allpv -exclude=foo,bar* msg * hello\n"
+" close all private buffers:\n"
+" /allpv close"
+msgstr ""
+
+#, fuzzy
msgid "execute a command on all connected servers"
msgstr "отправить сообщение на все каналы всех поключенных серверов"
diff --git a/po/tr.po b/po/tr.po
index 70ddb7e6e..af6dea379 100644
--- a/po/tr.po
+++ b/po/tr.po
@@ -20,7 +20,7 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
-"POT-Creation-Date: 2014-03-19 09:28+0100\n"
+"POT-Creation-Date: 2014-03-19 19:00+0100\n"
"PO-Revision-Date: 2014-03-18 09:23+0100\n"
"Last-Translator: Hasan Kiran <sunder67@hotmail.com>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
@@ -4327,6 +4327,32 @@ msgid ""
" /allchan -exclude=#weechat,#linux* msg * hello"
msgstr ""
+msgid "execute a command on all private buffers of all connected servers"
+msgstr ""
+
+#, fuzzy
+msgid "[-current] [-exclude=<nick>[,<nick>...]] <command> [<arguments>]"
+msgstr "[-current] [-exclude=<kanal>[,<kanal>...]] <komut> [<argümanlar>]"
+
+msgid ""
+" -current: execute command for private buffers of current server only\n"
+" -exclude: exclude some nicks ('*' is allowed at beginning or end of nick "
+"name, to exclude many nicks)\n"
+" command: command to execute\n"
+"arguments: arguments for command (special variables $nick, $channel and "
+"$server are replaced by their value)\n"
+"\n"
+"Examples:\n"
+" execute '/me is testing' on all private buffers:\n"
+" /allpv me is testing\n"
+" say 'hello' everywhere but not for nick foo:\n"
+" /allpv -exclude=foo msg * hello\n"
+" say 'hello' everywhere but not for nick foo and nicks beginning with bar:\n"
+" /allpv -exclude=foo,bar* msg * hello\n"
+" close all private buffers:\n"
+" /allpv close"
+msgstr ""
+
msgid "execute a command on all connected servers"
msgstr ""
diff --git a/po/weechat.pot b/po/weechat.pot
index 9e552b250..2bf1c52a0 100644
--- a/po/weechat.pot
+++ b/po/weechat.pot
@@ -21,7 +21,7 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat 0.4.1-dev\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
-"POT-Creation-Date: 2014-03-19 09:28+0100\n"
+"POT-Creation-Date: 2014-03-19 19:00+0100\n"
"PO-Revision-Date: 2013-02-14 18:20+0100\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
@@ -4328,6 +4328,31 @@ msgid ""
" /allchan -exclude=#weechat,#linux* msg * hello"
msgstr ""
+msgid "execute a command on all private buffers of all connected servers"
+msgstr ""
+
+msgid "[-current] [-exclude=<nick>[,<nick>...]] <command> [<arguments>]"
+msgstr ""
+
+msgid ""
+" -current: execute command for private buffers of current server only\n"
+" -exclude: exclude some nicks ('*' is allowed at beginning or end of nick "
+"name, to exclude many nicks)\n"
+" command: command to execute\n"
+"arguments: arguments for command (special variables $nick, $channel and "
+"$server are replaced by their value)\n"
+"\n"
+"Examples:\n"
+" execute '/me is testing' on all private buffers:\n"
+" /allpv me is testing\n"
+" say 'hello' everywhere but not for nick foo:\n"
+" /allpv -exclude=foo msg * hello\n"
+" say 'hello' everywhere but not for nick foo and nicks beginning with bar:\n"
+" /allpv -exclude=foo,bar* msg * hello\n"
+" close all private buffers:\n"
+" /allpv close"
+msgstr ""
+
msgid "execute a command on all connected servers"
msgstr ""
diff --git a/src/plugins/irc/irc-command.c b/src/plugins/irc/irc-command.c
index ff3569459..22807ebee 100644
--- a/src/plugins/irc/irc-command.c
+++ b/src/plugins/irc/irc-command.c
@@ -268,7 +268,7 @@ irc_command_admin (void *data, struct t_gui_buffer *buffer, int argc,
}
/*
- * Executes a command on all channels.
+ * Executes a command on all channels (or queries).
*
* If server is NULL, executes command on all channels of all connected servers.
* Special variables $server/$channel/$nick are replaced in command.
@@ -276,6 +276,7 @@ irc_command_admin (void *data, struct t_gui_buffer *buffer, int argc,
void
irc_command_exec_all_channels (struct t_irc_server *server,
+ int channel_type,
const char *exclude_channels,
const char *command)
{
@@ -316,7 +317,7 @@ irc_command_exec_all_channels (struct t_irc_server *server,
{
next_channel = ptr_channel->next_channel;
- if (ptr_channel->type == IRC_CHANNEL_TYPE_CHANNEL)
+ if (ptr_channel->type == channel_type)
{
excluded = 0;
if (channels)
@@ -399,6 +400,59 @@ irc_command_allchan (void *data, struct t_gui_buffer *buffer, int argc,
{
weechat_buffer_set (NULL, "hotlist", "-");
irc_command_exec_all_channels ((current_server) ? ptr_server : NULL,
+ IRC_CHANNEL_TYPE_CHANNEL,
+ ptr_exclude_channels,
+ ptr_command);
+ weechat_buffer_set (NULL, "hotlist", "+");
+ }
+
+ return WEECHAT_RC_OK;
+}
+
+/*
+ * Callback for command "/allpv": executes a command on all privates of all
+ * connected servers.
+ */
+
+int
+irc_command_allpv (void *data, struct t_gui_buffer *buffer, int argc,
+ char **argv, char **argv_eol)
+{
+ int i, current_server;
+ const char *ptr_exclude_channels, *ptr_command;
+
+ IRC_BUFFER_GET_SERVER(buffer);
+
+ /* make C compiler happy */
+ (void) data;
+
+ if (argc < 2)
+ return WEECHAT_RC_ERROR;
+
+ current_server = 0;
+ ptr_exclude_channels = NULL;
+ ptr_command = argv_eol[1];
+ for (i = 1; i < argc; i++)
+ {
+ if (weechat_strcasecmp (argv[i], "-current") == 0)
+ {
+ current_server = 1;
+ ptr_command = argv_eol[i + 1];
+ }
+ else if (weechat_strncasecmp (argv[i], "-exclude=", 9) == 0)
+ {
+ ptr_exclude_channels = argv[i] + 9;
+ ptr_command = argv_eol[i + 1];
+ }
+ else
+ break;
+ }
+
+ if (ptr_command && ptr_command[0])
+ {
+ weechat_buffer_set (NULL, "hotlist", "-");
+ irc_command_exec_all_channels ((current_server) ? ptr_server : NULL,
+ IRC_CHANNEL_TYPE_PRIVATE,
ptr_exclude_channels,
ptr_command);
weechat_buffer_set (NULL, "hotlist", "+");
@@ -5621,6 +5675,30 @@ irc_command_init ()
" /allchan -exclude=#weechat,#linux* msg * hello"),
NULL, &irc_command_allchan, NULL);
weechat_hook_command (
+ "allpv",
+ N_("execute a command on all private buffers of all connected servers"),
+ N_("[-current] [-exclude=<nick>[,<nick>...]] <command> "
+ "[<arguments>]"),
+ N_(" -current: execute command for private buffers of current server "
+ "only\n"
+ " -exclude: exclude some nicks ('*' is allowed at beginning or "
+ "end of nick name, to exclude many nicks)\n"
+ " command: command to execute\n"
+ "arguments: arguments for command (special variables $nick, $channel "
+ "and $server are replaced by their value)\n"
+ "\n"
+ "Examples:\n"
+ " execute '/me is testing' on all private buffers:\n"
+ " /allpv me is testing\n"
+ " say 'hello' everywhere but not for nick foo:\n"
+ " /allpv -exclude=foo msg * hello\n"
+ " say 'hello' everywhere but not for nick foo and nicks beginning "
+ "with bar:\n"
+ " /allpv -exclude=foo,bar* msg * hello\n"
+ " close all private buffers:\n"
+ " /allpv close"),
+ NULL, &irc_command_allpv, NULL);
+ weechat_hook_command (
"allserv",
N_("execute a command on all connected servers"),
N_("[-exclude=<server>[,<server>...]] "