1
0
mirror of https://github.com/weechat/weechat.git synced 2026-07-08 18:53:12 +02:00

irc: allow range in commands /unban and /unquiet (closes #2113)

This commit is contained in:
Sébastien Helleu
2024-05-13 23:03:48 +02:00
parent 8009b21803
commit 878c0a5d66
22 changed files with 1399 additions and 42 deletions
+1
View File
@@ -43,6 +43,7 @@ New features::
* api: add support of specifier `%!` for timestamp in function util_strftimeval
* api: add support of base64url in encode/decode functions
* fset: add option `-import` in command `/fset`
* irc: allow range in commands `/unban` and `/unquiet` (issue #2113)
* irc: rename option irc.color.item_channel_modes to weechat.color.status_modes
* irc: add option `-all` in command `/allchan`, do not execute command on parted channels by default (issue #2085)
* irc: add server option "autojoin_delay" (delay before autojoin), use option "command_delay" before execution of the command (issue #862)
+1
View File
@@ -475,6 +475,7 @@ WeeChat "core" is located in following directories:
|             test-irc-buffer.cpp | Tests: IRC buffers.
|             test-irc-channel.cpp | Tests: IRC channels.
|             test-irc-color.cpp | Tests: IRC colors.
|             test-irc-command.cpp | Tests: IRC commands.
|             test-irc-config.cpp | Tests: IRC configuration.
|             test-irc-ctcp.cpp | Tests: IRC CTCP.
|             test-irc-ignore.cpp | Tests: IRC ignores.
+1
View File
@@ -477,6 +477,7 @@ Le cœur de WeeChat est situé dans les répertoires suivants :
|             test-irc-buffer.cpp | Tests : tampons IRC.
|             test-irc-channel.cpp | Tests : canaux IRC.
|             test-irc-color.cpp | Tests : couleurs IRC.
|             test-irc-command.cpp | Tests : commandes IRC.
|             test-irc-config.cpp | Tests : configuration IRC.
|             test-irc-ctcp.cpp | Tests : CTCP IRC.
|             test-irc-ignore.cpp | Tests : ignores IRC.
+2
View File
@@ -559,6 +559,8 @@ WeeChat "core" は以下のディレクトリに配置されています:
// TRANSLATION MISSING
|             test-irc-channel.cpp | Tests: IRC channels.
|             test-irc-color.cpp | Tests: IRC colors.
// TRANSLATION MISSING
|             test-irc-command.cpp | Tests: IRC commands.
|             test-irc-config.cpp | テスト: IRC 設定
// TRANSLATION MISSING
|             test-irc-ctcp.cpp | Tests: IRC CTCP.
+2
View File
@@ -477,6 +477,8 @@ WeeChat „језгро” се налази у следећим директо
|             test-irc-buffer.cpp | Тестови: IRC бафери.
|             test-irc-channel.cpp | Тестови: IRC канали.
|             test-irc-color.cpp | Тестови: IRC боје.
// TRANSLATION MISSING
|             test-irc-command.cpp | Tests: IRC commands.
|             test-irc-config.cpp | Тестови: IRC конфигурација.
|             test-irc-ctcp.cpp | Тестови: IRC CTCP.
|             test-irc-ignore.cpp | Тестови: IRC игнорисања.
+10 -2
View File
@@ -21,7 +21,7 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
"POT-Creation-Date: 2024-05-13 22:49+0200\n"
"POT-Creation-Date: 2024-05-13 22:50+0200\n"
"PO-Revision-Date: 2024-04-07 14:50+0200\n"
"Last-Translator: Ondřej Súkup <mimi.vx@gmail.com>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
@@ -10050,7 +10050,7 @@ msgstr "zruší zakázání pro přezdívku nebo hosta"
#. TRANSLATORS: only text between angle brackets (eg: "<name>") must be translated
#, fuzzy
msgid "[<channel>] <nick>|<number> [<nick>|<number>...]"
msgid "[<channel>] <nick>|<number>|<n1>-<n2> [<nick>|<number>|<n1>-<n2>...]"
msgstr "[<kanál>] <přezdívka> [<přezdívka>...]"
#, fuzzy
@@ -10059,6 +10059,14 @@ msgstr ""
" kanál: kanál pro zrušení zakázání\n"
"přezdívka: uživatel nebo host, kterému zrušit zakázání"
#, fuzzy
#| msgid "IRC servers (internal names)"
msgid "n1: interval start number"
msgstr "IRC servery (vnitřní jména)"
msgid "n2: interval end number"
msgstr ""
#, fuzzy
msgid "unquiet nicks or hosts"
msgstr "ztichnout přezdívky nebo hosty"
+12 -2
View File
@@ -26,7 +26,7 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
"POT-Creation-Date: 2024-05-13 22:49+0200\n"
"POT-Creation-Date: 2024-05-13 22:50+0200\n"
"PO-Revision-Date: 2024-05-02 07:42+0200\n"
"Last-Translator: Nils Görs <weechatter@arcor.de>\n"
"Language-Team: German <kde-i18n-de@kde.org>\n"
@@ -11138,12 +11138,22 @@ msgid "unban nicks or hosts"
msgstr "Bann von Nicks oder Hosts aufheben"
#. TRANSLATORS: only text between angle brackets (eg: "<name>") must be translated
msgid "[<channel>] <nick>|<number> [<nick>|<number>...]"
#, fuzzy
#| msgid "[<channel>] <nick>|<number> [<nick>|<number>...]"
msgid "[<channel>] <nick>|<number>|<n1>-<n2> [<nick>|<number>|<n1>-<n2>...]"
msgstr "[<channel>] <nick>|<number> [<nick>|<number>...]"
msgid "number: ban number (as displayed by command /ban)"
msgstr "Nummer: Nummer des Bannes (wird beim Befehl /ban angezeigt)"
#, fuzzy
#| msgid "server: internal server name"
msgid "n1: interval start number"
msgstr "Server: interner Name des Servers"
msgid "n2: interval end number"
msgstr ""
msgid "unquiet nicks or hosts"
msgstr "Nicks oder Hosts das Wort erteilen"
+10 -2
View File
@@ -22,7 +22,7 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
"POT-Creation-Date: 2024-05-13 22:49+0200\n"
"POT-Creation-Date: 2024-05-13 22:50+0200\n"
"PO-Revision-Date: 2024-04-07 14:50+0200\n"
"Last-Translator: Santiago Forero <santiago@forero.xyz>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
@@ -10258,7 +10258,7 @@ msgstr "remueve vetos a apodos o máquinas"
#. TRANSLATORS: only text between angle brackets (eg: "<name>") must be translated
#, fuzzy
msgid "[<channel>] <nick>|<number> [<nick>|<number>...]"
msgid "[<channel>] <nick>|<number>|<n1>-<n2> [<nick>|<number>|<n1>-<n2>...]"
msgstr "[<canal>] <apodo> [<apodo> ...]"
#, fuzzy
@@ -10269,6 +10269,14 @@ msgstr ""
"\n"
"Sin argumentos, este comando muestra la lista de vetos del canal actual."
#, fuzzy
#| msgid "IRC servers (internal names)"
msgid "n1: interval start number"
msgstr "servidores IRC (nombres internos)"
msgid "n2: interval end number"
msgstr ""
#, fuzzy
msgid "unquiet nicks or hosts"
msgstr "silencia apodos o máquinas"
+10 -4
View File
@@ -21,8 +21,8 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
"POT-Creation-Date: 2024-05-13 22:49+0200\n"
"PO-Revision-Date: 2024-05-13 22:50+0200\n"
"POT-Creation-Date: 2024-05-13 22:50+0200\n"
"PO-Revision-Date: 2024-05-13 22:53+0200\n"
"Last-Translator: Sébastien Helleu <flashcode@flashtux.org>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
"Language: fr\n"
@@ -10942,12 +10942,18 @@ msgid "unban nicks or hosts"
msgstr "supprimer le bannissement sur des pseudos ou hôtes"
#. TRANSLATORS: only text between angle brackets (eg: "<name>") must be translated
msgid "[<channel>] <nick>|<number> [<nick>|<number>...]"
msgstr "[<canal>] <pseudo>|<nombre> [<pseudo>|<nombre>...]"
msgid "[<channel>] <nick>|<number>|<n1>-<n2> [<nick>|<number>|<n1>-<n2>...]"
msgstr "[<canal>] <pseudo>|<nombre>|<n1>-<n2> [<pseudo>|<nombre>|<n1>-<n2>...]"
msgid "number: ban number (as displayed by command /ban)"
msgstr "nombre : numéro de bannissement (tel qu'affiché par la commande /ban)"
msgid "n1: interval start number"
msgstr "n1 : numéro de départ de l'intervalle"
msgid "n2: interval end number"
msgstr "n2 : numéro de fin de l'intervalle"
msgid "unquiet nicks or hosts"
msgstr "ne plus taire des pseudos ou hôtes"
+10 -2
View File
@@ -20,7 +20,7 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
"POT-Creation-Date: 2024-05-13 22:49+0200\n"
"POT-Creation-Date: 2024-05-13 22:50+0200\n"
"PO-Revision-Date: 2024-04-07 14:50+0200\n"
"Last-Translator: Andras Voroskoi <voroskoi@frugalware.org>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
@@ -9645,7 +9645,7 @@ msgstr "gép vagy felhasználó tiltásának visszavonása"
#. TRANSLATORS: only text between angle brackets (eg: "<name>") must be translated
#, fuzzy
msgid "[<channel>] <nick>|<number> [<nick>|<number>...]"
msgid "[<channel>] <nick>|<number>|<n1>-<n2> [<nick>|<number>|<n1>-<n2>...]"
msgstr "[szoba] név [név ...]"
#, fuzzy
@@ -9654,6 +9654,14 @@ msgstr ""
"szoba: szoba ahol a parancsot végrehajtjuk\n"
" név: felhasználó vagy gép melyen a parancsot végrehajtjuk"
#, fuzzy
#| msgid "target: server name"
msgid "n1: interval start number"
msgstr "cél: szerver neve"
msgid "n2: interval end number"
msgstr ""
#, fuzzy
msgid "unquiet nicks or hosts"
msgstr "gép vagy felhasználó tiltásának visszavonása"
+10 -2
View File
@@ -20,7 +20,7 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
"POT-Creation-Date: 2024-05-13 22:49+0200\n"
"POT-Creation-Date: 2024-05-13 22:50+0200\n"
"PO-Revision-Date: 2024-04-07 14:50+0200\n"
"Last-Translator: Esteban I. Ruiz Moreno <exio4.com@gmail.com>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
@@ -10252,7 +10252,7 @@ msgstr "rimuove il ban da nick o host"
#. TRANSLATORS: only text between angle brackets (eg: "<name>") must be translated
#, fuzzy
msgid "[<channel>] <nick>|<number> [<nick>|<number>...]"
msgid "[<channel>] <nick>|<number>|<n1>-<n2> [<nick>|<number>|<n1>-<n2>...]"
msgstr "[<canale>] <nick> [<nick>...]"
#, fuzzy
@@ -10263,6 +10263,14 @@ msgstr ""
"\n"
"Senza argomento, il comando mostra la lista dei ban per il canale corrente."
#, fuzzy
#| msgid "IRC servers (internal names)"
msgid "n1: interval start number"
msgstr "server IRC (nomi interni)"
msgid "n2: interval end number"
msgstr ""
#, fuzzy
msgid "unquiet nicks or hosts"
msgstr "fa tacere nick o host"
+12 -2
View File
@@ -20,7 +20,7 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
"POT-Creation-Date: 2024-05-13 22:49+0200\n"
"POT-Creation-Date: 2024-05-13 22:50+0200\n"
"PO-Revision-Date: 2024-04-07 14:50+0200\n"
"Last-Translator: AYANOKOUZI, Ryuunosuke <i38w7i3@yahoo.co.jp>\n"
"Language-Team: Japanese <https://github.com/l/weechat/tree/master/"
@@ -10551,7 +10551,9 @@ msgid "unban nicks or hosts"
msgstr "ニックネームかホストの禁止設定を解除"
#. TRANSLATORS: only text between angle brackets (eg: "<name>") must be translated
msgid "[<channel>] <nick>|<number> [<nick>|<number>...]"
#, fuzzy
#| msgid "[<channel>] <nick>|<number> [<nick>|<number>...]"
msgid "[<channel>] <nick>|<number>|<n1>-<n2> [<nick>|<number>|<n1>-<n2>...]"
msgstr "[<channel>] <nick>|<number> [<nick>|<number>...]"
#, fuzzy
@@ -10565,6 +10567,14 @@ msgstr ""
" nick: ニックネームまたはホスト名\n"
" number: バンするニックネームの番号 (コマンド /ban で表示される番号)"
#, fuzzy
#| msgid "IRC servers (internal names)"
msgid "n1: interval start number"
msgstr "IRC サーバ (内部名)"
msgid "n2: interval end number"
msgstr ""
msgid "unquiet nicks or hosts"
msgstr "ニックネームまたはホスト名に対する発言禁止を解除"
+12 -2
View File
@@ -22,7 +22,7 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
"POT-Creation-Date: 2024-05-13 22:49+0200\n"
"POT-Creation-Date: 2024-05-13 22:50+0200\n"
"PO-Revision-Date: 2024-05-02 00:06+0200\n"
"Last-Translator: Krzysztof Korościk <soltys@soltys.info>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
@@ -10615,12 +10615,22 @@ msgid "unban nicks or hosts"
msgstr "odbanowuje nicki lub hosty"
#. TRANSLATORS: only text between angle brackets (eg: "<name>") must be translated
msgid "[<channel>] <nick>|<number> [<nick>|<number>...]"
#, fuzzy
#| msgid "[<channel>] <nick>|<number> [<nick>|<number>...]"
msgid "[<channel>] <nick>|<number>|<n1>-<n2> [<nick>|<number>|<n1>-<n2>...]"
msgstr "[<kanał>] <nick>|<numer> [<nick>|<numer>...]"
msgid "number: ban number (as displayed by command /ban)"
msgstr "numer: numer bana (wyświetlany na liście za pomocą komendy /ban)"
#, fuzzy
#| msgid "server: internal server name"
msgid "n1: interval start number"
msgstr "serwer: wewnętrzna nazwa serwera"
msgid "n2: interval end number"
msgstr ""
msgid "unquiet nicks or hosts"
msgstr "nicki albo hosty przestają być uciszone"
+10 -2
View File
@@ -20,7 +20,7 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
"POT-Creation-Date: 2024-05-13 22:49+0200\n"
"POT-Creation-Date: 2024-05-13 22:50+0200\n"
"PO-Revision-Date: 2024-04-07 14:50+0200\n"
"Last-Translator: Vasco Almeida <vascomalmeida@sapo.pt>\n"
"Language-Team: Portuguese <>\n"
@@ -10527,7 +10527,7 @@ msgstr "remover banimento de nicks ou hosts"
#. TRANSLATORS: only text between angle brackets (eg: "<name>") must be translated
#, fuzzy
msgid "[<channel>] <nick>|<number> [<nick>|<number>...]"
msgid "[<channel>] <nick>|<number>|<n1>-<n2> [<nick>|<number>|<n1>-<n2>...]"
msgstr "[<canal>] <nick> [<nick>...]"
#, fuzzy
@@ -10538,6 +10538,14 @@ msgstr ""
"\n"
"Sem argumentos, este comando mostra a lista de banimentos do canal atual."
#, fuzzy
#| msgid "IRC servers (internal names)"
msgid "n1: interval start number"
msgstr "servidores IRC (nomes internos)"
msgid "n2: interval end number"
msgstr ""
msgid "unquiet nicks or hosts"
msgstr "remover silêncio de nicks ou hosts"
+10 -2
View File
@@ -21,7 +21,7 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
"POT-Creation-Date: 2024-05-13 22:49+0200\n"
"POT-Creation-Date: 2024-05-13 22:50+0200\n"
"PO-Revision-Date: 2024-04-07 14:50+0200\n"
"Last-Translator: Érico Nogueira <ericonr@disroot.org>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
@@ -9975,7 +9975,7 @@ msgid "unban nicks or hosts"
msgstr ""
#. TRANSLATORS: only text between angle brackets (eg: "<name>") must be translated
msgid "[<channel>] <nick>|<number> [<nick>|<number>...]"
msgid "[<channel>] <nick>|<number>|<n1>-<n2> [<nick>|<number>|<n1>-<n2>...]"
msgstr ""
#, fuzzy
@@ -9984,6 +9984,14 @@ msgstr ""
"channel: nome do canal\n"
" nick: nick ou host"
#, fuzzy
#| msgid "IRC servers (internal names)"
msgid "n1: interval start number"
msgstr "servidor IRC (nomes internos)"
msgid "n2: interval end number"
msgstr ""
#, fuzzy
msgid "unquiet nicks or hosts"
msgstr "retira o silencio de nicks ou hosts"
+10 -2
View File
@@ -21,7 +21,7 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
"POT-Creation-Date: 2024-05-13 22:49+0200\n"
"POT-Creation-Date: 2024-05-13 22:50+0200\n"
"PO-Revision-Date: 2024-04-07 14:50+0200\n"
"Last-Translator: Aleksey V Zapparov AKA ixti <ixti@member.fsf.org>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
@@ -9690,7 +9690,7 @@ msgstr "снимает бан с хоста или ника"
#. TRANSLATORS: only text between angle brackets (eg: "<name>") must be translated
#, fuzzy
msgid "[<channel>] <nick>|<number> [<nick>|<number>...]"
msgid "[<channel>] <nick>|<number>|<n1>-<n2> [<nick>|<number>|<n1>-<n2>...]"
msgstr "[канал] ник [ник ...]"
#, fuzzy
@@ -9699,6 +9699,14 @@ msgstr ""
"канал: канал для снятия бана\n"
" ник: ник или хост для снятия бана"
#, fuzzy
#| msgid "target: server name"
msgid "n1: interval start number"
msgstr "цель: название сервера"
msgid "n2: interval end number"
msgstr ""
#, fuzzy
msgid "unquiet nicks or hosts"
msgstr "снимает бан с хоста или ника"
+12 -2
View File
@@ -20,7 +20,7 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
"POT-Creation-Date: 2024-05-13 22:49+0200\n"
"POT-Creation-Date: 2024-05-13 22:50+0200\n"
"PO-Revision-Date: 2024-05-07 14:00+0400\n"
"Last-Translator: Ivan Pešić <ivan.pesic@gmail.com>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
@@ -10603,12 +10603,22 @@ msgid "unban nicks or hosts"
msgstr "уклањање забране надимцима или хостовима"
#. TRANSLATORS: only text between angle brackets (eg: "<name>") must be translated
msgid "[<channel>] <nick>|<number> [<nick>|<number>...]"
#, fuzzy
#| msgid "[<channel>] <nick>|<number> [<nick>|<number>...]"
msgid "[<channel>] <nick>|<number>|<n1>-<n2> [<nick>|<number>|<n1>-<n2>...]"
msgstr "[<канал>] <надимак>|<број> [<надимак>|<број>...]"
msgid "number: ban number (as displayed by command /ban)"
msgstr "број: број забране (као што га исписује команда /ban)"
#, fuzzy
#| msgid "server: internal server name"
msgid "n1: interval start number"
msgstr "сервер: интерно име сервера"
msgid "n2: interval end number"
msgstr ""
msgid "unquiet nicks or hosts"
msgstr "уклањање ућуткивања надимака или хостова"
+12 -2
View File
@@ -20,7 +20,7 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
"POT-Creation-Date: 2024-05-13 22:49+0200\n"
"POT-Creation-Date: 2024-05-13 22:50+0200\n"
"PO-Revision-Date: 2024-04-07 14:50+0200\n"
"Last-Translator: Emir SARI <emir_sari@icloud.com>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
@@ -10678,7 +10678,9 @@ msgid "unban nicks or hosts"
msgstr "takma adların veya makinelerin yasağını kaldır"
#. TRANSLATORS: only text between angle brackets (eg: "<name>") must be translated
msgid "[<channel>] <nick>|<number> [<nick>|<number>...]"
#, fuzzy
#| msgid "[<channel>] <nick>|<number> [<nick>|<number>...]"
msgid "[<channel>] <nick>|<number>|<n1>-<n2> [<nick>|<number>|<n1>-<n2>...]"
msgstr "[<kanal>] <takmaad>|<sayı> [<takmaad>|<sayı>...]"
#, fuzzy
@@ -10692,6 +10694,14 @@ msgstr ""
"takmaad: takma ad veya makine\n"
" sayı: yasak numarası (/ban komutunda görüntülendiği üzere)"
#, fuzzy
#| msgid "IRC servers (internal names)"
msgid "n1: interval start number"
msgstr "IRC sunucuları (dahili adlar)"
msgid "n2: interval end number"
msgstr ""
msgid "unquiet nicks or hosts"
msgstr "takma adların veya makinelerin sessiz durumunu kaldır"
+8 -2
View File
@@ -21,7 +21,7 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
"POT-Creation-Date: 2024-05-13 22:49+0200\n"
"POT-Creation-Date: 2024-05-13 22:50+0200\n"
"PO-Revision-Date: 2014-08-16 10:27+0200\n"
"Last-Translator: Sébastien Helleu <flashcode@flashtux.org>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
@@ -8833,12 +8833,18 @@ msgid "unban nicks or hosts"
msgstr ""
#. TRANSLATORS: only text between angle brackets (eg: "<name>") must be translated
msgid "[<channel>] <nick>|<number> [<nick>|<number>...]"
msgid "[<channel>] <nick>|<number>|<n1>-<n2> [<nick>|<number>|<n1>-<n2>...]"
msgstr ""
msgid "number: ban number (as displayed by command /ban)"
msgstr ""
msgid "n1: interval start number"
msgstr ""
msgid "n2: interval end number"
msgstr ""
msgid "unquiet nicks or hosts"
msgstr ""
+97 -12
View File
@@ -220,6 +220,77 @@ irc_command_mode_nicks (struct t_irc_server *server,
weechat_hashtable_free (nicks_sent);
}
/*
* Returns arguments with ranges of numbers converted to individual numbers.
* Arguments that are not range (format: "N1-N2") are kept as-is.
*
* For example: ["2" "5-8" "abc"] -> ["2" "5" "6" "7" "8" "abc"]
*/
char **
irc_command_mode_masks_convert_ranges (char **argv, int arg_start)
{
char **str_masks, **masks, *error1, *error2, *pos, str_number[32];
int i, length, added;
long j, number1, number2;
if (!argv || (arg_start < 0))
return NULL;
str_masks = weechat_string_dyn_alloc (128);
if (!str_masks)
return NULL;
for (i = arg_start; argv[i]; i++)
{
added = 0;
length = strlen (argv[i]);
pos = strchr (argv[i], '-');
if ((length > 2)
&& pos
&& (argv[i][0] != '-')
&& (argv[i][length - 1] != '-'))
{
pos[0] = '\0';
error1 = NULL;
number1 = strtol (argv[i], &error1, 10);
error2 = NULL;
number2 = strtol (pos + 1, &error2, 10);
if (error1 && !error1[0]
&& error2 && !error2[0]
&& (number1 > 0) && (number1 < 128)
&& (number2 > 0) && (number2 < 128)
&& (number1 < number2))
{
for (j = number1; j <= number2; j++)
{
if (*str_masks[0])
weechat_string_dyn_concat (str_masks, " ", -1);
snprintf (str_number, sizeof (str_number),
"%ld", j);
weechat_string_dyn_concat (str_masks, str_number, -1);
}
added = 1;
}
pos[0] = '-';
}
if (!added)
{
if (*str_masks[0])
weechat_string_dyn_concat (str_masks, " ", -1);
weechat_string_dyn_concat (str_masks, argv[i], -1);
}
}
masks = weechat_string_split (*str_masks, " ", NULL, 0, 0, NULL);
weechat_string_dyn_free (str_masks, 1);
return masks;
}
/*
* Sends mode change for many masks on a channel.
*
@@ -6369,7 +6440,7 @@ IRC_COMMAND_CALLBACK(trace)
IRC_COMMAND_CALLBACK(unban)
{
char *pos_channel;
char *pos_channel, **masks;
int pos_args;
IRC_BUFFER_GET_SERVER_CHANNEL(buffer);
@@ -6409,9 +6480,14 @@ IRC_COMMAND_CALLBACK(unban)
}
}
irc_command_mode_masks (ptr_server, pos_channel,
"unban", "-", "b",
argv, pos_args);
masks = irc_command_mode_masks_convert_ranges (argv, pos_args);
if (masks)
{
irc_command_mode_masks (ptr_server, pos_channel,
"unban", "-", "b",
masks, 0);
weechat_string_free_split (masks);
}
return WEECHAT_RC_OK;
}
@@ -6422,7 +6498,7 @@ IRC_COMMAND_CALLBACK(unban)
IRC_COMMAND_CALLBACK(unquiet)
{
char *pos_channel;
char *pos_channel, **masks;
int pos_args;
IRC_BUFFER_GET_SERVER_CHANNEL(buffer);
@@ -6464,9 +6540,14 @@ IRC_COMMAND_CALLBACK(unquiet)
if (argv[pos_args])
{
irc_command_mode_masks (ptr_server, pos_channel,
"unquiet", "-", "q",
argv, pos_args);
masks = irc_command_mode_masks_convert_ranges (argv, pos_args);
if (masks)
{
irc_command_mode_masks (ptr_server, pos_channel,
"unquiet", "-", "q",
masks, 0);
weechat_string_free_split (masks);
}
}
else
{
@@ -7923,22 +8004,26 @@ irc_command_init ()
"unban",
N_("unban nicks or hosts"),
/* TRANSLATORS: only text between angle brackets (eg: "<name>") must be translated */
N_("[<channel>] <nick>|<number> [<nick>|<number>...]"),
N_("[<channel>] <nick>|<number>|<n1>-<n2> [<nick>|<number>|<n1>-<n2>...]"),
WEECHAT_CMD_ARGS_DESC(
N_("channel: channel name"),
N_("nick: nick or host"),
N_("number: ban number (as displayed by command /ban)")),
N_("number: ban number (as displayed by command /ban)"),
N_("n1: interval start number"),
N_("n2: interval end number")),
"%(irc_modelist_masks:b)|%(irc_modelist_numbers:b)",
&irc_command_unban, NULL, NULL);
weechat_hook_command (
"unquiet",
N_("unquiet nicks or hosts"),
/* TRANSLATORS: only text between angle brackets (eg: "<name>") must be translated */
N_("[<channel>] <nick>|<number> [<nick>|<number>...]"),
N_("[<channel>] <nick>|<number>|<n1>-<n2> [<nick>|<number>|<n1>-<n2>...]"),
WEECHAT_CMD_ARGS_DESC(
N_("channel: channel name"),
N_("nick: nick or host"),
N_("number: quiet number (as displayed by command /quiet)")),
N_("number: quiet number (as displayed by command /quiet)"),
N_("n1: interval start number"),
N_("n2: interval end number")),
"%(irc_modelist_masks:q)|%(irc_modelist_numbers:q)",
&irc_command_unquiet, NULL, NULL);
weechat_hook_command (
+1
View File
@@ -126,6 +126,7 @@ if(ENABLE_IRC)
unit/plugins/irc/test-irc-buffer.cpp
unit/plugins/irc/test-irc-channel.cpp
unit/plugins/irc/test-irc-color.cpp
unit/plugins/irc/test-irc-command.cpp
unit/plugins/irc/test-irc-config.cpp
unit/plugins/irc/test-irc-ctcp.cpp
unit/plugins/irc/test-irc-info.cpp
File diff suppressed because it is too large Load Diff