From f46f75997518a2bf1f37718a8255e2be2be1e961 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Helleu?= Date: Wed, 12 Jul 2023 18:28:29 +0200 Subject: [PATCH] irc: evaluate options irc.ctcp.* (issue #1974) --- ChangeLog.adoc | 1 + ReleaseNotes.adoc | 7 + doc/de/weechat_user.de.adoc | 53 ++-- doc/en/weechat_dev.en.adoc | 1 + doc/en/weechat_user.en.adoc | 50 ++-- doc/fr/weechat_dev.fr.adoc | 1 + doc/fr/weechat_user.fr.adoc | 50 ++-- doc/it/weechat_user.it.adoc | 58 ++--- doc/ja/weechat_dev.ja.adoc | 2 + doc/ja/weechat_user.ja.adoc | 53 ++-- doc/pl/weechat_user.pl.adoc | 53 ++-- doc/sr/weechat_dev.sr.adoc | 2 + doc/sr/weechat_user.sr.adoc | 52 ++-- po/cs.po | 29 ++- po/de.po | 29 ++- po/es.po | 29 ++- po/fr.po | 34 ++- po/hu.po | 18 +- po/it.po | 29 ++- po/ja.po | 29 ++- po/pl.po | 29 ++- po/pt.po | 29 ++- po/pt_BR.po | 29 ++- po/ru.po | 18 +- po/sr.po | 29 ++- po/tr.po | 29 ++- po/weechat.pot | 18 +- src/plugins/irc/irc-config.c | 59 ++++- src/plugins/irc/irc-config.h | 2 +- src/plugins/irc/irc-ctcp.c | 239 ++++++++++-------- src/plugins/irc/irc-ctcp.h | 5 +- tests/CMakeLists.txt | 1 + tests/unit/plugins/irc/test-irc-ctcp.cpp | 247 +++++++++++++++++++ tests/unit/plugins/irc/test-irc-protocol.cpp | 15 +- 34 files changed, 922 insertions(+), 407 deletions(-) create mode 100644 tests/unit/plugins/irc/test-irc-ctcp.cpp diff --git a/ChangeLog.adoc b/ChangeLog.adoc index 5520f27271b..54526d6a8a3 100644 --- a/ChangeLog.adoc +++ b/ChangeLog.adoc @@ -23,6 +23,7 @@ New features:: * fset: allow long type name in type filter * irc: display commands 716/717 in private buffer (if present) (issue #146) * irc: create default options irc.ctcp.* when file irc.conf is created (issue #1974) + * irc: evaluate options irc.ctcp.* (issue #1974) * irc: remove Git revision and compilation date from CTCP VERSION/FINGER reply (issue #1974) * trigger: add options `-o`, `-ol`, `-i` and `-il` in command `/trigger list` (issue #1953) diff --git a/ReleaseNotes.adoc b/ReleaseNotes.adoc index 29b5b2e67b0..e04dc107b15 100644 --- a/ReleaseNotes.adoc +++ b/ReleaseNotes.adoc @@ -14,6 +14,13 @@ For a complete list of changes, please look at ChangeLog. [[v4.1.0]] == Version 4.1.0 (under dev) +[[v4.1.0_irc_ctcp_replies]] +=== IRC CTCP replies + +IRC CTCP replies are now evaluated, with the same variables available, so now +the syntax is for example `${version}` instead of `$version`. + +The existing options `irc.ctcp.*` are automatically converted on upgrade. + [[v4.1.0_fset_allowed_values]] === Allowed values for options on fset buffer diff --git a/doc/de/weechat_user.de.adoc b/doc/de/weechat_user.de.adoc index 2e15bca2796..665cfd771df 100644 --- a/doc/de/weechat_user.de.adoc +++ b/doc/de/weechat_user.de.adoc @@ -4070,7 +4070,7 @@ Beispiel: Um eine Antwort auf die CTCP Anfrage "VERSION" anzupassen nutzen Sie folgenden Befehl: ---- -/set irc.ctcp.version "I'm running WeeChat $version, it rocks!" +/set irc.ctcp.version "I'm running WeeChat ${version}, it rocks!" ---- [NOTE] @@ -4095,7 +4095,7 @@ Auch kann man CTCP Antworten für jeden einzelnen Server anpassen. Dazu muss man lediglich den internen Servernamen vor die CTCP Anfrage setzen: ---- -/set irc.ctcp.libera.version "WeeChat $version (for libera)" +/set irc.ctcp.libera.version "WeeChat ${version} (for libera)" ---- Sollen die CTCP Antworten wieder auf die Standardeinstellungen zurück gesetzt werden @@ -4105,23 +4105,25 @@ dann müssen Sie lediglich die Option löschen: /unset irc.ctcp.version ---- -Folgende Platzhalter können in den CTCP-Antworten genutzt werden. Diese werden dann -mit dem entsprechenden Wert ersetzt: +// TRANSLATION MISSING +The CTCP replies are evaluated (see command <>) and +the following extra variables are available: -[width="100%",cols="2l,4,8",options="header"] +[width="100%",cols="2,4,8",options="header"] |=== -| Platzhalter | Beschreibung | Wert/Beispiel -| $clientinfo | Liste der CTCP Antworten | `+ACTION DCC CLIENTINFO FINGER PING SOURCE TIME USERINFO VERSION+` -| $version | WeeChat Version | `+4.1.0-dev+` -| $versiongit | WeeChat Version + Git version ^(1)^ | `+4.1.0-dev (git: v4.0.0-51-g8f98b922a)+` -| $git | Git Version ^(1)^ | `+v4.0.0-51-g8f98b922a+` -| $compilation | Datum der Kompilierung | `+Jul 8 2023 20:14:23+` -| $osinfo | Info über das genutzte OS | `+Linux 5.10.0-23-amd64 / x86_64+` -| $site | WeeChat Seite | `+https://weechat.org/+` -| $download | WeeChat, Download Seite | `+https://weechat.org/download/+` -| $time | Aktuelle Uhrzeit/Datum | `+Sat, 08 Jul 2023 21:11:19 +0200+` -| $username | Username beim IRC Server | `+Name+` -| $realname | Realname beim IRC Server | `+John Doe+` +// TRANSLATION MISSING +| Variable | Beschreibung | Wert/Beispiel +| `+${clientinfo}+` | Liste der CTCP Antworten | `+ACTION DCC CLIENTINFO FINGER PING SOURCE TIME USERINFO VERSION+` +| `+${version}+` | WeeChat Version | `+4.1.0-dev+` +| `+${versiongit}+` | WeeChat Version + Git version ^(1)^ | `+4.1.0-dev (git: v4.0.0-51-g8f98b922a)+` +| `+${git}+` | Git Version ^(1)^ | `+v4.0.0-51-g8f98b922a+` +| `+${compilation}+` | Datum der Kompilierung | `+Jul 8 2023 20:14:23+` +| `+${osinfo}+` | Info über das genutzte OS | `+Linux 5.10.0-23-amd64 / x86_64+` +| `+${site}+` | WeeChat Seite | `+https://weechat.org/+` +| `+${download}+` | WeeChat, Download Seite | `+https://weechat.org/download/+` +| `+${time}+` | Aktuelle Uhrzeit/Datum | `+Sat, 08 Jul 2023 21:11:19 +0200+` +| `+${username}+` | Username beim IRC Server | `+Name+` +| `+${realname}+` | Realname beim IRC Server | `+John Doe+` |=== [NOTE] @@ -4129,17 +4131,18 @@ mit dem entsprechenden Wert ersetzt: Dies erfordert, dass WeeChat aus dem Git Repository heraus kompiliert wurde und das Git überhaupt installiert ist. -Falls CTCP Optionen nicht festgelegt sind, lauten die CTCP Antworten: +// TRANSLATION MISSING +The default CTCP replies are: [width="100%",cols="2,4,8",options="header"] |=== -| CTCP | Antwortformat | Beispiel -| CLIENTINFO | `+$clientinfo+` | `+ACTION DCC CLIENTINFO FINGER PING SOURCE TIME USERINFO VERSION+` -| FINGER | `+WeeChat $version+` | `+WeeChat 4.1.0-dev+` -| SOURCE | `+$download+` | `+https://weechat.org/download/+` -| TIME | `+$time+` | `+Sat, 08 Jul 2023 21:11:19 +0200+` -| USERINFO | `+$username ($realname)+` | `+Name (John Doe)+` -| VERSION | `+WeeChat $version+` | `+WeeChat 4.1.0-dev+` +| CTCP | Antwortformat | Beispiel +| CLIENTINFO | `+${clientinfo}+` | `+ACTION DCC CLIENTINFO FINGER PING SOURCE TIME USERINFO VERSION+` +| FINGER | `+WeeChat ${version}+` | `+WeeChat 4.1.0-dev+` +| SOURCE | `+${download}+` | `+https://weechat.org/download/+` +| TIME | `+${time}+` | `+Sat, 08 Jul 2023 21:11:19 +0200+` +| USERINFO | `+${username} (${realname})+` | `+Name (John Doe)+` +| VERSION | `+WeeChat ${version}+` | `+WeeChat 4.1.0-dev+` |=== [[irc_target_buffer]] diff --git a/doc/en/weechat_dev.en.adoc b/doc/en/weechat_dev.en.adoc index 3f9fc15a821..0fdd8e402dd 100644 --- a/doc/en/weechat_dev.en.adoc +++ b/doc/en/weechat_dev.en.adoc @@ -436,6 +436,7 @@ WeeChat "core" is located in following directories: |             test-irc-channel.cpp | Tests: IRC channels. |             test-irc-color.cpp | Tests: IRC colors. |             test-irc-config.cpp | Tests: IRC configuration. +|             test-irc-ctcp.cpp | Tests: IRC CTCP. |             test-irc-ignore.cpp | Tests: IRC ignores. |             test-irc-join.cpp | Tests: IRC join functions. |             test-irc-message.cpp | Tests: IRC messages. diff --git a/doc/en/weechat_user.en.adoc b/doc/en/weechat_user.en.adoc index 497efa80c4d..cbc8b0b1ab9 100644 --- a/doc/en/weechat_user.en.adoc +++ b/doc/en/weechat_user.en.adoc @@ -3992,7 +3992,7 @@ reply). For example, to customize reply to CTCP "VERSION", use following command: ---- -/set irc.ctcp.version "I'm running WeeChat $version, it rocks!" +/set irc.ctcp.version "I'm running WeeChat ${version}, it rocks!" ---- [NOTE] @@ -4017,7 +4017,7 @@ It is possible to customize CTCP for one server only, using its internal name before CTCP name: ---- -/set irc.ctcp.libera.version "WeeChat $version (for libera)" +/set irc.ctcp.libera.version "WeeChat ${version} (for libera)" ---- If you want to restore standard CTCP reply, then remove option: @@ -4026,40 +4026,40 @@ If you want to restore standard CTCP reply, then remove option: /unset irc.ctcp.version ---- -Following codes can be used in strings and are automatically expanded by WeeChat -when replying to CTCP: +The CTCP replies are evaluated (see command <>) and +the following extra variables are available: -[width="100%",cols="2l,4,8",options="header"] +[width="100%",cols="2,4,8",options="header"] |=== -| Code | Description | Value/example -| $clientinfo | List of supported CTCP | `+ACTION DCC CLIENTINFO FINGER PING SOURCE TIME USERINFO VERSION+` -| $version | WeeChat version | `+4.1.0-dev+` -| $versiongit | WeeChat version + Git version ^(1)^ | `+4.1.0-dev (git: v4.0.0-51-g8f98b922a)+` -| $git | Git version ^(1)^ | `+v4.0.0-51-g8f98b922a+` -| $compilation | WeeChat compilation date | `+Jul 8 2023 20:14:23+` -| $osinfo | Info about OS | `+Linux 5.10.0-23-amd64 / x86_64+` -| $site | WeeChat site | `+https://weechat.org/+` -| $download | WeeChat site, download page | `+https://weechat.org/download/+` -| $time | Current date/time | `+Sat, 08 Jul 2023 21:11:19 +0200+` -| $username | User name on IRC server | `+name+` -| $realname | Real name on IRC server | `+John Doe+` +| Variable | Description | Value/example +| `+${clientinfo}+` | List of supported CTCP | `+ACTION DCC CLIENTINFO FINGER PING SOURCE TIME USERINFO VERSION+` +| `+${version}+` | WeeChat version | `+4.1.0-dev+` +| `+${versiongit}+` | WeeChat version + Git version ^(1)^ | `+4.1.0-dev (git: v4.0.0-51-g8f98b922a)+` +| `+${git}+` | Git version ^(1)^ | `+v4.0.0-51-g8f98b922a+` +| `+${compilation}+` | WeeChat compilation date | `+Jul 8 2023 20:14:23+` +| `+${osinfo}+` | Info about OS | `+Linux 5.10.0-23-amd64 / x86_64+` +| `+${site}+` | WeeChat site | `+https://weechat.org/+` +| `+${download}+` | WeeChat site, download page | `+https://weechat.org/download/+` +| `+${time}+` | Current date/time | `+Sat, 08 Jul 2023 21:11:19 +0200+` +| `+${username}+` | User name on IRC server | `+name+` +| `+${realname}+` | Real name on IRC server | `+John Doe+` |=== [NOTE] ^(1)^ The Git version is the output of command `git describe`. It is known only if WeeChat has been compiled inside the Git repository and if Git was installed. -If CTCP options are not defined (by default), CTCP replies are: +The default CTCP replies are: [width="100%",cols="2,4,8",options="header"] |=== -| CTCP | Reply format | Example -| CLIENTINFO | `+$clientinfo+` | `+ACTION DCC CLIENTINFO FINGER PING SOURCE TIME USERINFO VERSION+` -| FINGER | `+WeeChat $version+` | `+WeeChat 4.1.0-dev+` -| SOURCE | `+$download+` | `+https://weechat.org/download/+` -| TIME | `+$time+` | `+Sat, 08 Jul 2023 21:11:19 +0200+` -| USERINFO | `+$username ($realname)+` | `+name (John Doe)+` -| VERSION | `+WeeChat $version+` | `+WeeChat 4.1.0-dev+` +| CTCP | Reply format | Example +| CLIENTINFO | `+${clientinfo}+` | `+ACTION DCC CLIENTINFO FINGER PING SOURCE TIME USERINFO VERSION+` +| FINGER | `+WeeChat ${version}+` | `+WeeChat 4.1.0-dev+` +| SOURCE | `+${download}+` | `+https://weechat.org/download/+` +| TIME | `+${time}+` | `+Sat, 08 Jul 2023 21:11:19 +0200+` +| USERINFO | `+${username} (${realname})+` | `+name (John Doe)+` +| VERSION | `+WeeChat ${version}+` | `+WeeChat 4.1.0-dev+` |=== [[irc_target_buffer]] diff --git a/doc/fr/weechat_dev.fr.adoc b/doc/fr/weechat_dev.fr.adoc index e57a71f0d38..69385b1a079 100644 --- a/doc/fr/weechat_dev.fr.adoc +++ b/doc/fr/weechat_dev.fr.adoc @@ -438,6 +438,7 @@ Le cœur de WeeChat est situé dans les répertoires suivants : |             test-irc-channel.cpp | Tests : canaux IRC. |             test-irc-color.cpp | Tests : couleurs IRC. |             test-irc-config.cpp | Tests : configuration IRC. +|             test-irc-ctcp.cpp | Tests : CTCP IRC. |             test-irc-ignore.cpp | Tests : ignores IRC. |             test-irc-join.cpp | Tests : fonctions de join IRC. |             test-irc-message.cpp | Tests : messages IRC. diff --git a/doc/fr/weechat_user.fr.adoc b/doc/fr/weechat_user.fr.adoc index 44cf2795af8..2090b186ee5 100644 --- a/doc/fr/weechat_user.fr.adoc +++ b/doc/fr/weechat_user.fr.adoc @@ -4116,7 +4116,7 @@ Par exemple, pour personnaliser la réponse au CTCP "VERSION", utilisez la commande suivante : ---- -/set irc.ctcp.version "Je suis sous WeeChat $version, ça déchire !" +/set irc.ctcp.version "Je suis sous WeeChat ${version}, ça déchire !" ---- [NOTE] @@ -4141,7 +4141,7 @@ Il est possible de personnaliser le CTCP pour un seul serveur, en utilisant son nom interne avant le nom du CTCP : ---- -/set irc.ctcp.libera.version "WeeChat $version (pour libera)" +/set irc.ctcp.libera.version "WeeChat ${version} (pour libera)" ---- Si vous voulez restaurer la réponse CTCP standard, alors supprimez l'option : @@ -4150,23 +4150,23 @@ Si vous voulez restaurer la réponse CTCP standard, alors supprimez l'option : /unset irc.ctcp.version ---- -Les codes suivants peuvent être utilisés dans les chaînes et sont -automatiquement remplacées par WeeChat lors de la réponse au CTCP : +Les réponses CTCP sont évaluées (voir la commande <>) +et les variables supplémentaires suivantes sont disponibles : -[width="100%",cols="2l,4,8",options="header"] +[width="100%",cols="2,4,8",options="header"] |=== -| Code | Description | Valeur / exemple -| $clientinfo | Liste des CTCP supportés | `+ACTION DCC CLIENTINFO FINGER PING SOURCE TIME USERINFO VERSION+` -| $version | Version de WeeChat | `+4.1.0-dev+` -| $versiongit | Version de WeeChat + version Git ^(1)^ | `+4.1.0-dev (git: v4.0.0-51-g8f98b922a)+` -| $git | Version Git ^(1)^ | `+v4.0.0-51-g8f98b922a+` -| $compilation | Date de compilation WeeChat | `+Jul 8 2023 20:14:23+` -| $osinfo | Information sur l'OS | `+Linux 5.10.0-23-amd64 / x86_64+` -| $site | Site WeeChat | `+https://weechat.org/+` -| $download | Site WeeChat, page téléchargement | `+https://weechat.org/download/+` -| $time | Date/heure courante | `+Sat, 08 Jul 2023 21:11:19 +0200+` -| $username | Nom d'utilisateur sur le serveur | `+nom+` -| $realname | Nom réel sur le serveur | `+John Doe+` +| Variable | Description | Valeur / exemple +| `+${clientinfo}+` | Liste des CTCP supportés | `+ACTION DCC CLIENTINFO FINGER PING SOURCE TIME USERINFO VERSION+` +| `+${version}+` | Version de WeeChat | `+4.1.0-dev+` +| `+${versiongit}+` | Version de WeeChat + version Git ^(1)^ | `+4.1.0-dev (git: v4.0.0-51-g8f98b922a)+` +| `+${git}+` | Version Git ^(1)^ | `+v4.0.0-51-g8f98b922a+` +| `+${compilation}+` | Date de compilation WeeChat | `+Jul 8 2023 20:14:23+` +| `+${osinfo}+` | Information sur l'OS | `+Linux 5.10.0-23-amd64 / x86_64+` +| `+${site}+` | Site WeeChat | `+https://weechat.org/+` +| `+${download}+` | Site WeeChat, page téléchargement | `+https://weechat.org/download/+` +| `+${time}+` | Date/heure courante | `+Sat, 08 Jul 2023 21:11:19 +0200+` +| `+${username}+` | Nom d'utilisateur sur le serveur | `+nom+` +| `+${realname}+` | Nom réel sur le serveur | `+John Doe+` |=== [NOTE] @@ -4174,17 +4174,17 @@ automatiquement remplacées par WeeChat lors de la réponse au CTCP : connue seulement si WeeChat a été compilé dans le dépôt Git et si Git était installé. -Si les options CTCP ne sont pas définies (par défaut), les réponses CTCP sont : +Les réponses CTCP par défaut sont : [width="100%",cols="2,4,8",options="header"] |=== -| CTCP | Format de réponse | Exemple -| CLIENTINFO | `+$clientinfo+` | `+ACTION DCC CLIENTINFO FINGER PING SOURCE TIME USERINFO VERSION+` -| FINGER | `+WeeChat $version+` | `+WeeChat 4.1.0-dev+` -| SOURCE | `+$download+` | `+https://weechat.org/download/+` -| TIME | `+$time+` | `+Sat, 08 Jul 2023 21:11:19 +0200+` -| USERINFO | `+$username ($realname)+` | `+nom (John Doe)+` -| VERSION | `+WeeChat $version+` | `+WeeChat 4.1.0-dev+` +| CTCP | Format de réponse | Exemple +| CLIENTINFO | `+${clientinfo}+` | `+ACTION DCC CLIENTINFO FINGER PING SOURCE TIME USERINFO VERSION+` +| FINGER | `+WeeChat ${version}+` | `+WeeChat 4.1.0-dev+` +| SOURCE | `+${download}+` | `+https://weechat.org/download/+` +| TIME | `+${time}+` | `+Sat, 08 Jul 2023 21:11:19 +0200+` +| USERINFO | `+${username} (${realname})+` | `+nom (John Doe)+` +| VERSION | `+WeeChat ${version}+` | `+WeeChat 4.1.0-dev+` |=== [[irc_target_buffer]] diff --git a/doc/it/weechat_user.it.adoc b/doc/it/weechat_user.it.adoc index 0411daa3e5a..a7280d52b2b 100644 --- a/doc/it/weechat_user.it.adoc +++ b/doc/it/weechat_user.it.adoc @@ -4302,7 +4302,7 @@ Ad esempio, per personalizzare la richiesta CTCP "VERSIONE", utilizzare il seguente comando: ---- -/set irc.ctcp.version "Uso WeeChat $version, fico!" +/set irc.ctcp.version "Uso WeeChat ${version}, fico!" ---- // TRANSLATION MISSING @@ -4328,7 +4328,7 @@ può rispondere "BLABLA": interno prima del nome CTCP: ---- -/set irc.ctcp.libera.version "WeeChat $version (per libera)" +/set irc.ctcp.libera.version "WeeChat ${version} (per libera)" ---- Se si desidera ripristinare la risposta CTCP standard, allora disabilitare @@ -4338,24 +4338,27 @@ l'opzione: /unset irc.ctcp.version ---- -I codici seguenti possono essere utilizzati nelle stringhe e vengono estese -automaticamente da WeeChat quando si risponde alle CTCP +// TRANSLATION MISSING +The CTCP replies are evaluated (see command <>) and +the following extra variables are available: -// TRANSLATION MISSING ($versiongit + $git + $username (name)) -[width="100%",cols="2l,4,8",options="header"] +[width="100%",cols="2,4,8",options="header"] |=== -| Codice | Descrizione | Valore/esempio -| $clientinfo | Elenco di CTCP supportate | `+ACTION DCC CLIENTINFO FINGER PING SOURCE TIME USERINFO VERSION+` -| $version | Versione di WeeChat | `+4.1.0-dev+` -| $versiongit | Versione di WeeChat + Git version ^(1)^ | `+4.1.0-dev (git: v4.0.0-51-g8f98b922a)+` -| $git | Git version ^(1)^ | `+v4.0.0-51-g8f98b922a+` -| $compilation | Data di compilazione di WeeChat | `+Jul 8 2023 20:14:23+` -| $osinfo | Informazioni sull'OS | `+Linux 5.10.0-23-amd64 / x86_64+` -| $site | Sito di WeeChat | `+https://weechat.org/+` -| $download | Sito di WeeChat, pagina di download | `+https://weechat.org/download/+` -| $time | Data/ora correnti | `+Sat, 08 Jul 2023 21:11:19 +0200+` -| $username | Nome utente sul server IRC | `+name+` -| $realname | Nome reale sul server IRC | `+John Doe+` +// TRANSLATION MISSING +| Variable | Descrizione | Valore/esempio +| `+${clientinfo}+` | Elenco di CTCP supportate | `+ACTION DCC CLIENTINFO FINGER PING SOURCE TIME USERINFO VERSION+` +| `+${version}+` | Versione di WeeChat | `+4.1.0-dev+` +// TRANSLATION MISSING +| `+${versiongit}+` | Versione di WeeChat + Git version ^(1)^ | `+4.1.0-dev (git: v4.0.0-51-g8f98b922a)+` +// TRANSLATION MISSING +| `+${git}+` | Git version ^(1)^ | `+v4.0.0-51-g8f98b922a+` +| `+${compilation}+` | Data di compilazione di WeeChat | `+Jul 8 2023 20:14:23+` +| `+${osinfo}+` | Informazioni sull'OS | `+Linux 5.10.0-23-amd64 / x86_64+` +| `+${site}+` | Sito di WeeChat | `+https://weechat.org/+` +| `+${download}+` | Sito di WeeChat, pagina di download | `+https://weechat.org/download/+` +| `+${time}+` | Data/ora correnti | `+Sat, 08 Jul 2023 21:11:19 +0200+` +| `+${username}+` | Nome utente sul server IRC | `+name+` +| `+${realname}+` | Nome reale sul server IRC | `+John Doe+` |=== // TRANSLATION MISSING @@ -4363,19 +4366,18 @@ automaticamente da WeeChat quando si risponde alle CTCP ^(1)^ The Git version is the output of command `git describe`. It is known only if WeeChat has been compiled inside the Git repository and if Git was installed. -Se le opzioni CTCP non sono definite (comportamento predefinito), -le risposte CTCP sono: +// TRANSLATION MISSING +The default CTCP replies are: -// TRANSLATION MISSING ($username (name)) [width="100%",cols="2,4,8",options="header"] |=== -| CTCP | Formato risposta | Esempio -| CLIENTINFO | `+$clientinfo+` | `+ACTION DCC CLIENTINFO FINGER PING SOURCE TIME USERINFO VERSION+` -| FINGER | `+WeeChat $version+` | `+WeeChat 4.1.0-dev+` -| SOURCE | `+$download+` | `+https://weechat.org/download/+` -| TIME | `+$time+` | `+Sat, 08 Jul 2023 21:11:19 +0200+` -| USERINFO | `+$username ($realname)+` | `+name (John Doe)+` -| VERSION | `+WeeChat $version+` | `+WeeChat 4.1.0-dev+` +| CTCP | Formato risposta | Esempio +| CLIENTINFO | `+${clientinfo}+` | `+ACTION DCC CLIENTINFO FINGER PING SOURCE TIME USERINFO VERSION+` +| FINGER | `+WeeChat ${version}+` | `+WeeChat 4.1.0-dev+` +| SOURCE | `+${download}+` | `+https://weechat.org/download/+` +| TIME | `+${time}+` | `+Sat, 08 Jul 2023 21:11:19 +0200+` +| USERINFO | `+${username} (${realname})+` | `+name (John Doe)+` +| VERSION | `+WeeChat ${version}+` | `+WeeChat 4.1.0-dev+` |=== [[irc_target_buffer]] diff --git a/doc/ja/weechat_dev.ja.adoc b/doc/ja/weechat_dev.ja.adoc index 37c58cad204..c6fcb515e7b 100644 --- a/doc/ja/weechat_dev.ja.adoc +++ b/doc/ja/weechat_dev.ja.adoc @@ -479,6 +479,8 @@ WeeChat "core" は以下のディレクトリに配置されています: |             test-irc-color.cpp | Tests: IRC colors. |             test-irc-config.cpp | テスト: IRC 設定 // TRANSLATION MISSING +|             test-irc-ctcp.cpp | Tests: IRC CTCP. +// TRANSLATION MISSING |             test-irc-ignore.cpp | Tests: IRC ignores. // TRANSLATION MISSING |             test-irc-join.cpp | Tests: IRC join functions. diff --git a/doc/ja/weechat_user.ja.adoc b/doc/ja/weechat_user.ja.adoc index abe8fa942c9..0b88bd5f0b7 100644 --- a/doc/ja/weechat_user.ja.adoc +++ b/doc/ja/weechat_user.ja.adoc @@ -4161,7 +4161,7 @@ CTCP 応答をカスタマイズしたり、いくつかの CTCP 例えば、CTCP "VERSION" 要求に対する応答をカスタマイズするには、以下のコマンドを使ってください: ---- -/set irc.ctcp.version "I'm running WeeChat $version, it rocks!" +/set irc.ctcp.version "I'm running WeeChat ${version}, it rocks!" ---- // TRANSLATION MISSING @@ -4187,7 +4187,7 @@ CTCP "BLABLA" 要求に対する応答を以下のように設定できます: 名の前に内部サーバ名をつけてください: ---- -/set irc.ctcp.libera.version "WeeChat $version (for libera)" +/set irc.ctcp.libera.version "WeeChat ${version} (for libera)" ---- 標準の CTCP 応答を復元するには、オプションを削除してください: @@ -4196,40 +4196,43 @@ CTCP "BLABLA" 要求に対する応答を以下のように設定できます: /unset irc.ctcp.version ---- -以下のコードを設定値に含めることが可能です。これらのコードは -CTCP 応答時に自動的に WeeChat によって展開されます: +// TRANSLATION MISSING +The CTCP replies are evaluated (see command <>) and +the following extra variables are available: -[width="100%",cols="2l,4,8",options="header"] +[width="100%",cols="2,4,8",options="header"] |=== -| コード | 説明 | 値/例 -| $clientinfo | サポートしている CTCP オプションのリスト | `+ACTION DCC CLIENTINFO FINGER PING SOURCE TIME USERINFO VERSION+` -| $version | WeeChat バージョン | `+4.1.0-dev+` -| $versiongit | WeeChat バージョン + Git バージョン ^(1)^ | `+4.1.0-dev (git: v4.0.0-51-g8f98b922a)+` -| $git | Git バージョン ^(1)^ | `+v4.0.0-51-g8f98b922a+` -| $compilation | WeeChat コンパイル日時 | `+Jul 8 2023 20:14:23+` -| $osinfo | OS に関する情報 | `+Linux 5.10.0-23-amd64 / x86_64+` -| $site | WeeChat ウェブサイト | `+https://weechat.org/+` -| $download | WeeChat ウェブサイトのダウンロードページ | `+https://weechat.org/download/+` -| $time | 現在の日時 | `+Sat, 08 Jul 2023 21:11:19 +0200+` -| $username | IRC サーバ上で使うユーザ名 | `+name+` -| $realname | IRC サーバ上で使う実名 | `+John Doe+` +// TRANSLATION MISSING +| Variable | 説明 | 値/例 +| `+${clientinfo}+` | サポートしている CTCP オプションのリスト | `+ACTION DCC CLIENTINFO FINGER PING SOURCE TIME USERINFO VERSION+` +| `+${version}+` | WeeChat バージョン | `+4.1.0-dev+` +| `+${versiongit}+` | WeeChat バージョン + Git バージョン ^(1)^ | `+4.1.0-dev (git: v4.0.0-51-g8f98b922a)+` +| `+${git}+` | Git バージョン ^(1)^ | `+v4.0.0-51-g8f98b922a+` +| `+${compilation}+` | WeeChat コンパイル日時 | `+Jul 8 2023 20:14:23+` +| `+${osinfo}+` | OS に関する情報 | `+Linux 5.10.0-23-amd64 / x86_64+` +| `+${site}+` | WeeChat ウェブサイト | `+https://weechat.org/+` +| `+${download}+` | WeeChat ウェブサイトのダウンロードページ | `+https://weechat.org/download/+` +| `+${time}+` | 現在の日時 | `+Sat, 08 Jul 2023 21:11:19 +0200+` +| `+${username}+` | IRC サーバ上で使うユーザ名 | `+name+` +| `+${realname}+` | IRC サーバ上で使う実名 | `+John Doe+` |=== [NOTE] ^(1)^ git バージョンとは `git describe` コマンドの出力です。Git リポジトリで WeeChat をコンパイルし、Git がインストールされている場合のみ値が設定されます。 -CTCP オプションが設定されていない (デフォルトの) 場合、CTCP 応答は以下のようになります: +// TRANSLATION MISSING +The default CTCP replies are: [width="100%",cols="2,4,8",options="header"] |=== -| CTCP | 応答書式 | 例 -| CLIENTINFO | `+$clientinfo+` | `+ACTION DCC CLIENTINFO FINGER PING SOURCE TIME USERINFO VERSION+` -| FINGER | `+WeeChat $version+` | `+WeeChat 4.1.0-dev+` -| SOURCE | `+$download+` | `+https://weechat.org/download/+` -| TIME | `+$time+` | `+Sat, 08 Jul 2023 21:11:19 +0200+` -| USERINFO | `+$username ($realname)+` | `+name (John Doe)+` -| VERSION | `+WeeChat $version+` | `+WeeChat 4.1.0-dev+` +| CTCP | 応答書式 | 例 +| CLIENTINFO | `+${clientinfo}+` | `+ACTION DCC CLIENTINFO FINGER PING SOURCE TIME USERINFO VERSION+` +| FINGER | `+WeeChat ${version}+` | `+WeeChat 4.1.0-dev+` +| SOURCE | `+${download}+` | `+https://weechat.org/download/+` +| TIME | `+${time}+` | `+Sat, 08 Jul 2023 21:11:19 +0200+` +| USERINFO | `+${username} (${realname})+` | `+name (John Doe)+` +| VERSION | `+WeeChat ${version}+` | `+WeeChat 4.1.0-dev+` |=== [[irc_target_buffer]] diff --git a/doc/pl/weechat_user.pl.adoc b/doc/pl/weechat_user.pl.adoc index e9cb29f44e4..578dcc580ca 100644 --- a/doc/pl/weechat_user.pl.adoc +++ b/doc/pl/weechat_user.pl.adoc @@ -4025,7 +4025,7 @@ Na przykład, ustawianie własnej odpowiedzi na CTCP "VERSION", możliwe jest za pomocą polecenia: ---- -/set irc.ctcp.version "I'm running WeeChat $version, it rocks!" +/set irc.ctcp.version "I'm running WeeChat ${version}, it rocks!" ---- [NOTE] @@ -4050,7 +4050,7 @@ Możliwe jest dostosowywanie odpowiedzi na CTCP tylko w obrębie serwera, używa jego wewnętrznej nazwy przed nazwą zapytania CTCP: ---- -/set irc.ctcp.libera.version "WeeChat $version (for libera)" +/set irc.ctcp.libera.version "WeeChat ${version} (for libera)" ---- Jeśli chcesz przywrócić standardowe odpowiedzi dla CTCP usuń opcję: @@ -4059,40 +4059,43 @@ Jeśli chcesz przywrócić standardowe odpowiedzi dla CTCP usuń opcję: /unset irc.ctcp.version ---- -Następujące kody mogą być użyte w ciągach i zostaną automatycznie zamienione -przez WeeChat podczas odpowiedzi na CTCP: +// TRANSLATION MISSING +The CTCP replies are evaluated (see command <>) and +the following extra variables are available: -[width="100%",cols="2l,4,8",options="header"] +[width="100%",cols="2,4,8",options="header"] |=== -| Kod | Opis | Wartość/Przykład -| $clientinfo | Lista wspieranych CTCP | `+ACTION DCC CLIENTINFO FINGER PING SOURCE TIME USERINFO VERSION+` -| $version | Wersja WeeChat | `+4.1.0-dev+` -| $versiongit | Wersja WeeChat + wersja Git ^(1)^ | `+4.1.0-dev (git: v4.0.0-51-g8f98b922a)+` -| $git | Wersja git ^(1)^ | `+v4.0.0-51-g8f98b922a+` -| $compilation | Data kompilacji WeeChat | `+Jul 8 2023 20:14:23+` -| $osinfo | Informacje o systemie operacyjnym | `+Linux 5.10.0-23-amd64 / x86_64+` -| $site | Strona WeeChat | `+https://weechat.org/+` -| $download | Strona WeeChat, pobieranie | `+https://weechat.org/download/+` -| $time | Obecna data/czas | `+Sat, 08 Jul 2023 21:11:19 +0200+` -| $username | Nazwa użytkownika na serwerze IRC | `+name+` -| $realname | Prawdziwa nazwa na serwerze IRC | `+John Doe+` +// TRANSLATION MISSING +| Variable | Opis | Wartość/Przykład +| `+${clientinfo}+` | Lista wspieranych CTCP | `+ACTION DCC CLIENTINFO FINGER PING SOURCE TIME USERINFO VERSION+` +| `+${version}+` | Wersja WeeChat | `+4.1.0-dev+` +| `+${versiongit}+` | Wersja WeeChat + wersja Git ^(1)^ | `+4.1.0-dev (git: v4.0.0-51-g8f98b922a)+` +| `+${git}+` | Wersja git ^(1)^ | `+v4.0.0-51-g8f98b922a+` +| `+${compilation}+` | Data kompilacji WeeChat | `+Jul 8 2023 20:14:23+` +| `+${osinfo}+` | Informacje o systemie operacyjnym | `+Linux 5.10.0-23-amd64 / x86_64+` +| `+${site}+` | Strona WeeChat | `+https://weechat.org/+` +| `+${download}+` | Strona WeeChat, pobieranie | `+https://weechat.org/download/+` +| `+${time}+` | Obecna data/czas | `+Sat, 08 Jul 2023 21:11:19 +0200+` +| `+${username}+` | Nazwa użytkownika na serwerze IRC | `+name+` +| `+${realname}+` | Prawdziwa nazwa na serwerze IRC | `+John Doe+` |=== [NOTE] ^(1)^ Wersja git jest wynikiem komendy `git describe`. Jest dostępna tylko jeśli WeeChat został skompilowany wewnątrz repozytorium Git i Git był zainstalowany. -Jeśli opcje CTCP nie są zdefiniowane (domyślne), odpowiedzi CTCP to: +// TRANSLATION MISSING +The default CTCP replies are: [width="100%",cols="2,4,8",options="header"] |=== -| CTCP | Format odpowiedzi | Przykład -| CLIENTINFO | `+$clientinfo+` | `+ACTION DCC CLIENTINFO FINGER PING SOURCE TIME USERINFO VERSION+` -| FINGER | `+WeeChat $version+` | `+WeeChat 4.1.0-dev+` -| SOURCE | `+$download+` | `+https://weechat.org/download/+` -| TIME | `+$time+` | `+Sat, 08 Jul 2023 21:11:19 +0200+` -| USERINFO | `+$username ($realname)+` | `+name (John Doe)+` -| VERSION | `+WeeChat $version+` | `+WeeChat 4.1.0-dev+` +| CTCP | Format odpowiedzi | Przykład +| CLIENTINFO | `+${clientinfo}+` | `+ACTION DCC CLIENTINFO FINGER PING SOURCE TIME USERINFO VERSION+` +| FINGER | `+WeeChat ${version}+` | `+WeeChat 4.1.0-dev+` +| SOURCE | `+${download}+` | `+https://weechat.org/download/+` +| TIME | `+${time}+` | `+Sat, 08 Jul 2023 21:11:19 +0200+` +| USERINFO | `+${username} (${realname})+` | `+name (John Doe)+` +| VERSION | `+WeeChat ${version}+` | `+WeeChat 4.1.0-dev+` |=== [[irc_target_buffer]] diff --git a/doc/sr/weechat_dev.sr.adoc b/doc/sr/weechat_dev.sr.adoc index c2ea1d93560..da2651d3f5b 100644 --- a/doc/sr/weechat_dev.sr.adoc +++ b/doc/sr/weechat_dev.sr.adoc @@ -438,6 +438,8 @@ WeeChat „језгро” се налази у следећим директо |             test-irc-channel.cpp | Тестови: IRC канали. |             test-irc-color.cpp | Тестови: IRC боје. |             test-irc-config.cpp | Тестови: IRC конфигурација. +// TRANSLATION MISSING +|             test-irc-ctcp.cpp | Tests: IRC CTCP. |             test-irc-ignore.cpp | Тестови: IRC игнорисања. |             test-irc-join.cpp | Тестови: IRC функције приступања. |             test-irc-message.cpp | Тестови: IRC поруке. diff --git a/doc/sr/weechat_user.sr.adoc b/doc/sr/weechat_user.sr.adoc index 90d0dcbdf22..ac813427577 100644 --- a/doc/sr/weechat_user.sr.adoc +++ b/doc/sr/weechat_user.sr.adoc @@ -3776,7 +3776,7 @@ CTCP одговори могу да се прилагоде, или неки CTC На пример, ако желите да прилагодите одговор на CTCP „VERSION”, употребите следећу команду: ---- -/set irc.ctcp.version "Користим WeeChat $version, одличан је!" +/set irc.ctcp.version "Користим WeeChat ${version}, одличан је!" ---- [NOTE] @@ -3798,7 +3798,7 @@ CTCP одговори могу да се прилагоде, или неки CTC CTCP може да се прилагоди само за један сервер, употребом његовог интерног имена испред CTCP имена: ---- -/set irc.ctcp.libera.version "WeeChat $version (за libera)" +/set irc.ctcp.libera.version "WeeChat ${version} (за libera)" ---- Ако желите да вратите стандардни CTCP одговор, уклоните опцију: @@ -3807,38 +3807,42 @@ CTCP може да се прилагоди само за један сервер /unset irc.ctcp.version ---- -У стринговима је могућа употреба следећих кодова и они се аутоматски развијају када програм WeeChat одговара на CTCP: +// TRANSLATION MISSING +The CTCP replies are evaluated (see command <>) and +the following extra variables are available: -[width="100%", cols="2l,4,8", options="header"] +[width="100%", cols="2,4,8", options="header"] |=== -| Кôд | Опис | Вредност/пример -| $clientinfo | Листа подржаних CTCP | `+ACTION DCC CLIENTINFO FINGER PING SOURCE TIME USERINFO VERSION+` -| $version | Верзија програма WeeChat | `+4.1.0-dev+` -| $versiongit | WeeChat верзија + Git верзија ^(1)^ | `+4.1.0-dev (git: v4.0.0-51-g8f98b922a)+` -| $git | Git верзија ^(1)^ | `+v4.0.0-51-g8f98b922a+` -| $compilation | Датум компајлирања програма WeeChat | `+Jul 8 2023 20:14:23+` -| $osinfo | Инфо о ОС | `+Linux 5.10.0-23-amd64 / x86_64+` -| $site | WeeChat вебсајт | `+https://weechat.org/+` -| $download | WeeChat сајт, страна за преузимање | `+https://weechat.org/download/+` -| $time | Текући датум/време | `+Sat, 08 Jul 2023 21:11:19 +0200+` -| $username | Корисничко име на IRC серверу | `+name+` -| $realname | Реално име на IRC серверу | `+John Doe+` +// TRANSLATION MISSING +| Variable | Опис | Вредност/пример +| `+${clientinfo}+` | Листа подржаних CTCP | `+ACTION DCC CLIENTINFO FINGER PING SOURCE TIME USERINFO VERSION+` +| `+${version}+` | Верзија програма WeeChat | `+4.1.0-dev+` +| `+${versiongit}+` | WeeChat верзија + Git верзија ^(1)^ | `+4.1.0-dev (git: v4.0.0-51-g8f98b922a)+` +| `+${git}+` | Git верзија ^(1)^ | `+v4.0.0-51-g8f98b922a+` +| `+${compilation}+` | Датум компајлирања програма WeeChat | `+Jul 8 2023 20:14:23+` +| `+${osinfo}+` | Инфо о ОС | `+Linux 5.10.0-23-amd64 / x86_64+` +| `+${site}+` | WeeChat вебсајт | `+https://weechat.org/+` +| `+${download}+` | WeeChat сајт, страна за преузимање | `+https://weechat.org/download/+` +| `+${time}+` | Текући датум/време | `+Sat, 08 Jul 2023 21:11:19 +0200+` +| `+${username}+` | Корисничко име на IRC серверу | `+name+` +| `+${realname}+` | Реално име на IRC серверу | `+John Doe+` |=== [NOTE] ^(1)^ Git верзија је излаз команде `git describe`. Позната је само ако је програм WeeChat компајлиран унутар Git репозиторијума и ако је Git инсталиран. -Ако CTCP опције нису дефинисане (што је подразумевано), CTCP одговори су следећи: +// TRANSLATION MISSING +The default CTCP replies are: [width="100%", cols="2,4,8", options="header"] |=== -| CTCP | Формат одговора | Пример -| CLIENTINFO | `+$clientinfo+` | `+ACTION DCC CLIENTINFO FINGER PING SOURCE TIME USERINFO VERSION+` -| FINGER | `+WeeChat $version+` | `+WeeChat 4.1.0-dev+` -| SOURCE | `+$download+` | `+https://weechat.org/download/+` -| TIME | `+$time+` | `+Sat, 08 Jul 2023 21:11:19 +0200+` -| USERINFO | `+$username ($realname)+` | `+име (Пера Перић)+` -| VERSION | `+WeeChat $version+` | `+WeeChat 4.1.0-dev+` +| CTCP | Формат одговора | Пример +| CLIENTINFO | `+${clientinfo}+` | `+ACTION DCC CLIENTINFO FINGER PING SOURCE TIME USERINFO VERSION+` +| FINGER | `+WeeChat ${version}+` | `+WeeChat 4.1.0-dev+` +| SOURCE | `+${download}+` | `+https://weechat.org/download/+` +| TIME | `+${time}+` | `+Sat, 08 Jul 2023 21:11:19 +0200+` +| USERINFO | `+${username} (${realname})+` | `+име (Пера Перић)+` +| VERSION | `+WeeChat ${version}+` | `+WeeChat 4.1.0-dev+` |=== [[irc_target_buffer]] diff --git a/po/cs.po b/po/cs.po index 78cf862a3af..6c7e6ce5400 100644 --- a/po/cs.po +++ b/po/cs.po @@ -21,7 +21,7 @@ msgid "" msgstr "" "Project-Id-Version: WeeChat\n" "Report-Msgid-Bugs-To: flashcode@flashtux.org\n" -"POT-Creation-Date: 2023-07-11 18:06+0200\n" +"POT-Creation-Date: 2023-07-12 17:22+0200\n" "PO-Revision-Date: 2023-06-26 21:34+0200\n" "Last-Translator: Ondřej Súkup \n" "Language-Team: weechat-dev \n" @@ -8576,12 +8576,22 @@ msgid "" "ctcp.%s\" will not work" msgstr "" -msgid "" -"format for CTCP reply or empty string for blocking CTCP (no reply), " -"following variables are replaced: $version (WeeChat version), $compilation " -"(compilation date), $osinfo (info about OS), $site (WeeChat site), $download " -"(WeeChat site, download page), $time (current date and time as text), " -"$username (username on server), $realname (realname on server)" +#, fuzzy +#| msgid "" +#| "format for CTCP reply or empty string for blocking CTCP (no reply), " +#| "following variables are replaced: $version (WeeChat version), " +#| "$compilation (compilation date), $osinfo (info about OS), $site (WeeChat " +#| "site), $download (WeeChat site, download page), $time (current date and " +#| "time as text), $username (username on server), $realname (realname on " +#| "server)" +msgid "" +"format for CTCP reply or empty string for blocking CTCP (no reply); content " +"is evaluated, see /help eval; following variables are replaced: " +"${clientinfo}: list of supported CTCP, ${version}: WeeChat version, ${git}: " +"Git version, ${versiongit}: WeeChat version and Git version, ${compilation}: " +"compilation date, ${osinfo}: info about OS, ${site}: WeeChat site, " +"${download}: WeeChat site, download page, ${time}: current date and time as " +"text, ${username}: username on server, ${realname}: realname on server" msgstr "" "formát CTCP odpovědi nebo prázdný řetězec pro blokování CTCP (žádná " "odpověď), následující přoměnné jsou nahrazovány: $version (verze WeeChat), " @@ -8949,6 +8959,11 @@ msgstr "%s%s: chyba při vytváření volby serveru \"%s\"" msgid "IRC option renamed: \"irc.%s.%s\" => \"irc.%s.%s\"" msgstr "" +#, fuzzy, c-format +#| msgid "Command for key: \"%s\"" +msgid "IRC CTCP format converted for \"%s\": \"%s\" => \"%s\"" +msgstr "příkaz pro klávesu: \"%s\"" + msgid "" "open channel buffer before the JOIN is received from server when it is auto " "joined (with server option \"autojoin\"); this is useful to open channels " diff --git a/po/de.po b/po/de.po index 7aef804708c..fbe08cb6487 100644 --- a/po/de.po +++ b/po/de.po @@ -26,7 +26,7 @@ msgid "" msgstr "" "Project-Id-Version: WeeChat\n" "Report-Msgid-Bugs-To: flashcode@flashtux.org\n" -"POT-Creation-Date: 2023-07-11 18:06+0200\n" +"POT-Creation-Date: 2023-07-12 17:22+0200\n" "PO-Revision-Date: 2023-07-05 21:23+0200\n" "Last-Translator: Nils Görs \n" "Language-Team: German \n" @@ -10858,12 +10858,22 @@ msgstr "" "%s%s: Warnung: Der CTCP Name \"%s\" muss in Kleinbuchstaben geschrieben " "werden, die Option \"irc.ctcp.%s\" funktioniert nicht" -msgid "" -"format for CTCP reply or empty string for blocking CTCP (no reply), " -"following variables are replaced: $version (WeeChat version), $compilation " -"(compilation date), $osinfo (info about OS), $site (WeeChat site), $download " -"(WeeChat site, download page), $time (current date and time as text), " -"$username (username on server), $realname (realname on server)" +#, fuzzy +#| msgid "" +#| "format for CTCP reply or empty string for blocking CTCP (no reply), " +#| "following variables are replaced: $version (WeeChat version), " +#| "$compilation (compilation date), $osinfo (info about OS), $site (WeeChat " +#| "site), $download (WeeChat site, download page), $time (current date and " +#| "time as text), $username (username on server), $realname (realname on " +#| "server)" +msgid "" +"format for CTCP reply or empty string for blocking CTCP (no reply); content " +"is evaluated, see /help eval; following variables are replaced: " +"${clientinfo}: list of supported CTCP, ${version}: WeeChat version, ${git}: " +"Git version, ${versiongit}: WeeChat version and Git version, ${compilation}: " +"compilation date, ${osinfo}: info about OS, ${site}: WeeChat site, " +"${download}: WeeChat site, download page, ${time}: current date and time as " +"text, ${username}: username on server, ${realname}: realname on server" msgstr "" "Format der CTCP Antwort. Folgende Variablen werden durch den entsprechenden " "Wert ersetzt: $version (WeeChat Version), $compilation (Datum der " @@ -11327,6 +11337,11 @@ msgstr "%s%s: Fehler bei der Erstellung der Serveroption \"%s\"" msgid "IRC option renamed: \"irc.%s.%s\" => \"irc.%s.%s\"" msgstr "IRC Option umbenannt: \"irc.%s.%s\" => \"irc.%s.%s\"" +#, fuzzy, c-format +#| msgid "Command converted for key \"%s\": \"%s\" => \"%s\"" +msgid "IRC CTCP format converted for \"%s\": \"%s\" => \"%s\"" +msgstr "Befehl für Taste konvertiert: \"%s\": \"%s\" => \"%s\"" + msgid "" "open channel buffer before the JOIN is received from server when it is auto " "joined (with server option \"autojoin\"); this is useful to open channels " diff --git a/po/es.po b/po/es.po index 8cf451313e9..c557430de9f 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: 2023-07-11 18:06+0200\n" +"POT-Creation-Date: 2023-07-12 17:22+0200\n" "PO-Revision-Date: 2023-06-26 21:34+0200\n" "Last-Translator: Santiago Forero \n" "Language-Team: weechat-dev \n" @@ -9242,12 +9242,22 @@ msgid "" "ctcp.%s\" will not work" msgstr "" -msgid "" -"format for CTCP reply or empty string for blocking CTCP (no reply), " -"following variables are replaced: $version (WeeChat version), $compilation " -"(compilation date), $osinfo (info about OS), $site (WeeChat site), $download " -"(WeeChat site, download page), $time (current date and time as text), " -"$username (username on server), $realname (realname on server)" +#, fuzzy +#| msgid "" +#| "format for CTCP reply or empty string for blocking CTCP (no reply), " +#| "following variables are replaced: $version (WeeChat version), " +#| "$compilation (compilation date), $osinfo (info about OS), $site (WeeChat " +#| "site), $download (WeeChat site, download page), $time (current date and " +#| "time as text), $username (username on server), $realname (realname on " +#| "server)" +msgid "" +"format for CTCP reply or empty string for blocking CTCP (no reply); content " +"is evaluated, see /help eval; following variables are replaced: " +"${clientinfo}: list of supported CTCP, ${version}: WeeChat version, ${git}: " +"Git version, ${versiongit}: WeeChat version and Git version, ${compilation}: " +"compilation date, ${osinfo}: info about OS, ${site}: WeeChat site, " +"${download}: WeeChat site, download page, ${time}: current date and time as " +"text, ${username}: username on server, ${realname}: realname on server" msgstr "" "formato para un respuesta CTCP o línea vacía para bloquear CTCP (no hay " "respuesta), las siguientes variables son reemplazadas: $version (versión de " @@ -9628,6 +9638,11 @@ msgstr "%s%s: error al crear la opción \"%s\" del servidor" msgid "IRC option renamed: \"irc.%s.%s\" => \"irc.%s.%s\"" msgstr "" +#, fuzzy, c-format +#| msgid "Command for key: \"%s\"" +msgid "IRC CTCP format converted for \"%s\": \"%s\" => \"%s\"" +msgstr "Comando para el atajo: \"%s\"" + msgid "" "open channel buffer before the JOIN is received from server when it is auto " "joined (with server option \"autojoin\"); this is useful to open channels " diff --git a/po/fr.po b/po/fr.po index e1f5be15ead..06dea97c437 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: 2023-07-11 18:06+0200\n" -"PO-Revision-Date: 2023-07-11 18:07+0200\n" +"POT-Creation-Date: 2023-07-12 17:22+0200\n" +"PO-Revision-Date: 2023-07-12 18:26+0200\n" "Last-Translator: Sébastien Helleu \n" "Language-Team: weechat-dev \n" "Language: fr\n" @@ -10464,19 +10464,23 @@ msgstr "" "\"irc.ctcp.%s\" ne fonctionnera pas" msgid "" -"format for CTCP reply or empty string for blocking CTCP (no reply), " -"following variables are replaced: $version (WeeChat version), $compilation " -"(compilation date), $osinfo (info about OS), $site (WeeChat site), $download " -"(WeeChat site, download page), $time (current date and time as text), " -"$username (username on server), $realname (realname on server)" +"format for CTCP reply or empty string for blocking CTCP (no reply); content " +"is evaluated, see /help eval; following variables are replaced: " +"${clientinfo}: list of supported CTCP, ${version}: WeeChat version, ${git}: " +"Git version, ${versiongit}: WeeChat version and Git version, ${compilation}: " +"compilation date, ${osinfo}: info about OS, ${site}: WeeChat site, " +"${download}: WeeChat site, download page, ${time}: current date and time as " +"text, ${username}: username on server, ${realname}: realname on server" msgstr "" "format de réponse CTCP ou une chaîne vide pour bloquer le CTCP (pas de " -"réponse), les variables suivantes sont remplacées : $version (version " -"WeeChat), $compilation (date de compilation), $osinfo (information sur " -"l'OS), $site (site WeeChat), $download (site WeeChat, page de " -"téléchargement), $time (date et heure courante sous forme de texte), " -"$username (nom d'utilisateur sur le serveur), $realname (nom réel sur le " -"serveur)" +"réponse) ; le contenu est évalué, voir /help eval ; les variables suivantes " +"sont remplacées : ${clientinfo} : liste des CTCP supportés, ${version} : " +"version de WeeChat, ${git} : version Git, ${versiongit} : version de WeeChat " +"et version Git, ${compilation} : date de compilation, ${osinfo} : " +"information sur l'OS, ${site} : site de WeeChat, ${download} : page de " +"téléchargement du site de WeeChat, ${time} : date et heure courante sous " +"forme de texte, ${username} : nom d'utilisateur sur le serveur, " +"${realname} : nom réel sur le serveur" #, c-format msgid "%s%s: error creating CTCP \"%s\" => \"%s\"" @@ -10912,6 +10916,10 @@ msgstr "%s%s : erreur de création de l'option serveur \"%s\"" msgid "IRC option renamed: \"irc.%s.%s\" => \"irc.%s.%s\"" msgstr "Option IRC renommée : \"irc.%s.%s\" => \"irc.%s.%s\"" +#, c-format +msgid "IRC CTCP format converted for \"%s\": \"%s\" => \"%s\"" +msgstr "Format IRC CTCP converti pour \"%s\" : \"%s\" => \"%s\"" + msgid "" "open channel buffer before the JOIN is received from server when it is auto " "joined (with server option \"autojoin\"); this is useful to open channels " diff --git a/po/hu.po b/po/hu.po index 7bdcf00a818..e55d7998a38 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: 2023-07-11 18:06+0200\n" +"POT-Creation-Date: 2023-07-12 17:22+0200\n" "PO-Revision-Date: 2023-06-17 11:47+0200\n" "Last-Translator: Andras Voroskoi \n" "Language-Team: weechat-dev \n" @@ -8085,11 +8085,13 @@ msgid "" msgstr "" msgid "" -"format for CTCP reply or empty string for blocking CTCP (no reply), " -"following variables are replaced: $version (WeeChat version), $compilation " -"(compilation date), $osinfo (info about OS), $site (WeeChat site), $download " -"(WeeChat site, download page), $time (current date and time as text), " -"$username (username on server), $realname (realname on server)" +"format for CTCP reply or empty string for blocking CTCP (no reply); content " +"is evaluated, see /help eval; following variables are replaced: " +"${clientinfo}: list of supported CTCP, ${version}: WeeChat version, ${git}: " +"Git version, ${versiongit}: WeeChat version and Git version, ${compilation}: " +"compilation date, ${osinfo}: info about OS, ${site}: WeeChat site, " +"${download}: WeeChat site, download page, ${time}: current date and time as " +"text, ${username}: username on server, ${realname}: realname on server" msgstr "" #, fuzzy, c-format @@ -8440,6 +8442,10 @@ msgstr "%s nincs elég memória az információs pult üzenethez\n" msgid "IRC option renamed: \"irc.%s.%s\" => \"irc.%s.%s\"" msgstr "" +#, c-format +msgid "IRC CTCP format converted for \"%s\": \"%s\" => \"%s\"" +msgstr "" + msgid "" "open channel buffer before the JOIN is received from server when it is auto " "joined (with server option \"autojoin\"); this is useful to open channels " diff --git a/po/it.po b/po/it.po index cf3c61189ac..be20718730a 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: 2023-07-11 18:06+0200\n" +"POT-Creation-Date: 2023-07-12 17:22+0200\n" "PO-Revision-Date: 2023-06-26 21:34+0200\n" "Last-Translator: Esteban I. Ruiz Moreno \n" "Language-Team: weechat-dev \n" @@ -8948,12 +8948,22 @@ msgid "" "ctcp.%s\" will not work" msgstr "" -msgid "" -"format for CTCP reply or empty string for blocking CTCP (no reply), " -"following variables are replaced: $version (WeeChat version), $compilation " -"(compilation date), $osinfo (info about OS), $site (WeeChat site), $download " -"(WeeChat site, download page), $time (current date and time as text), " -"$username (username on server), $realname (realname on server)" +#, fuzzy +#| msgid "" +#| "format for CTCP reply or empty string for blocking CTCP (no reply), " +#| "following variables are replaced: $version (WeeChat version), " +#| "$compilation (compilation date), $osinfo (info about OS), $site (WeeChat " +#| "site), $download (WeeChat site, download page), $time (current date and " +#| "time as text), $username (username on server), $realname (realname on " +#| "server)" +msgid "" +"format for CTCP reply or empty string for blocking CTCP (no reply); content " +"is evaluated, see /help eval; following variables are replaced: " +"${clientinfo}: list of supported CTCP, ${version}: WeeChat version, ${git}: " +"Git version, ${versiongit}: WeeChat version and Git version, ${compilation}: " +"compilation date, ${osinfo}: info about OS, ${site}: WeeChat site, " +"${download}: WeeChat site, download page, ${time}: current date and time as " +"text, ${username}: username on server, ${realname}: realname on server" msgstr "" "formato per la reply CTCP o stringa vuota per bloccare CTCP (nessuna reply), " "vengono sostituite le seguenti variabili: $version (versione di WeeChat), " @@ -9337,6 +9347,11 @@ msgstr "%s%s: errore durante la creazione dell'opzione del server \"%s\"" msgid "IRC option renamed: \"irc.%s.%s\" => \"irc.%s.%s\"" msgstr "" +#, fuzzy, c-format +#| msgid "Command for key: \"%s\"" +msgid "IRC CTCP format converted for \"%s\": \"%s\" => \"%s\"" +msgstr "Comando per il tasto \"%s\"" + msgid "" "open channel buffer before the JOIN is received from server when it is auto " "joined (with server option \"autojoin\"); this is useful to open channels " diff --git a/po/ja.po b/po/ja.po index 3fd25f87678..7a65c6c1428 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: 2023-07-11 18:06+0200\n" +"POT-Creation-Date: 2023-07-12 17:22+0200\n" "PO-Revision-Date: 2023-06-26 21:34+0200\n" "Last-Translator: AYANOKOUZI, Ryuunosuke \n" "Language-Team: Japanese \"irc.%s.%s\"" msgstr "" +#, fuzzy, c-format +#| msgid "Command for key: \"%s\"" +msgid "IRC CTCP format converted for \"%s\": \"%s\" => \"%s\"" +msgstr "キーに対するコマンド: \"%s\"" + msgid "" "open channel buffer before the JOIN is received from server when it is auto " "joined (with server option \"autojoin\"); this is useful to open channels " diff --git a/po/pl.po b/po/pl.po index a1637c6c6b3..225be0e5cd1 100644 --- a/po/pl.po +++ b/po/pl.po @@ -22,7 +22,7 @@ msgid "" msgstr "" "Project-Id-Version: WeeChat\n" "Report-Msgid-Bugs-To: flashcode@flashtux.org\n" -"POT-Creation-Date: 2023-07-11 18:06+0200\n" +"POT-Creation-Date: 2023-07-12 17:22+0200\n" "PO-Revision-Date: 2023-06-26 21:34+0200\n" "Last-Translator: Krzysztof Korościk \n" "Language-Team: Polish \n" @@ -11030,12 +11030,22 @@ msgid "" "ctcp.%s\" will not work" msgstr "" -msgid "" -"format for CTCP reply or empty string for blocking CTCP (no reply), " -"following variables are replaced: $version (WeeChat version), $compilation " -"(compilation date), $osinfo (info about OS), $site (WeeChat site), $download " -"(WeeChat site, download page), $time (current date and time as text), " -"$username (username on server), $realname (realname on server)" +#, fuzzy +#| msgid "" +#| "format for CTCP reply or empty string for blocking CTCP (no reply), " +#| "following variables are replaced: $version (WeeChat version), " +#| "$compilation (compilation date), $osinfo (info about OS), $site (WeeChat " +#| "site), $download (WeeChat site, download page), $time (current date and " +#| "time as text), $username (username on server), $realname (realname on " +#| "server)" +msgid "" +"format for CTCP reply or empty string for blocking CTCP (no reply); content " +"is evaluated, see /help eval; following variables are replaced: " +"${clientinfo}: list of supported CTCP, ${version}: WeeChat version, ${git}: " +"Git version, ${versiongit}: WeeChat version and Git version, ${compilation}: " +"compilation date, ${osinfo}: info about OS, ${site}: WeeChat site, " +"${download}: WeeChat site, download page, ${time}: current date and time as " +"text, ${username}: username on server, ${realname}: realname on server" msgstr "" "format dla odpowiedzi CTCP lub pusta wartość dla blokowania CTCP (brak " "odpowiedzi), następujące zmienne są zastępowane: $version (wersja WeeChat), " @@ -11507,6 +11517,11 @@ msgstr "%s%s: błąd podczas tworzenia opcji dla serwera \"%s\"" msgid "IRC option renamed: \"irc.%s.%s\" => \"irc.%s.%s\"" msgstr "" +#, fuzzy, c-format +#| msgid "Command for key: \"%s\"" +msgid "IRC CTCP format converted for \"%s\": \"%s\" => \"%s\"" +msgstr "Komenda dla klawisza: \"%s\"" + msgid "" "open channel buffer before the JOIN is received from server when it is auto " "joined (with server option \"autojoin\"); this is useful to open channels " diff --git a/po/pt.po b/po/pt.po index 6b2a29c2c7c..b01a2804312 100644 --- a/po/pt.po +++ b/po/pt.po @@ -20,7 +20,7 @@ msgid "" msgstr "" "Project-Id-Version: WeeChat\n" "Report-Msgid-Bugs-To: flashcode@flashtux.org\n" -"POT-Creation-Date: 2023-07-11 18:06+0200\n" +"POT-Creation-Date: 2023-07-12 17:22+0200\n" "PO-Revision-Date: 2023-06-26 21:34+0200\n" "Last-Translator: Vasco Almeida \n" "Language-Team: Portuguese <>\n" @@ -9842,12 +9842,22 @@ msgid "" "ctcp.%s\" will not work" msgstr "" -msgid "" -"format for CTCP reply or empty string for blocking CTCP (no reply), " -"following variables are replaced: $version (WeeChat version), $compilation " -"(compilation date), $osinfo (info about OS), $site (WeeChat site), $download " -"(WeeChat site, download page), $time (current date and time as text), " -"$username (username on server), $realname (realname on server)" +#, fuzzy +#| msgid "" +#| "format for CTCP reply or empty string for blocking CTCP (no reply), " +#| "following variables are replaced: $version (WeeChat version), " +#| "$compilation (compilation date), $osinfo (info about OS), $site (WeeChat " +#| "site), $download (WeeChat site, download page), $time (current date and " +#| "time as text), $username (username on server), $realname (realname on " +#| "server)" +msgid "" +"format for CTCP reply or empty string for blocking CTCP (no reply); content " +"is evaluated, see /help eval; following variables are replaced: " +"${clientinfo}: list of supported CTCP, ${version}: WeeChat version, ${git}: " +"Git version, ${versiongit}: WeeChat version and Git version, ${compilation}: " +"compilation date, ${osinfo}: info about OS, ${site}: WeeChat site, " +"${download}: WeeChat site, download page, ${time}: current date and time as " +"text, ${username}: username on server, ${realname}: realname on server" msgstr "" "formato da resposta CTCP ou cadeia vazia para bloquear CTCP (não responder), " "as seguintes variáveis são substituídas: $version (versão do WeeChat), " @@ -10270,6 +10280,11 @@ msgstr "%s%s: erro ao cria a opção de servidor \"%s\"" msgid "IRC option renamed: \"irc.%s.%s\" => \"irc.%s.%s\"" msgstr "" +#, fuzzy, c-format +#| msgid "Command for key: \"%s\"" +msgid "IRC CTCP format converted for \"%s\": \"%s\" => \"%s\"" +msgstr "Comando para a tecla: \"%s\"" + msgid "" "open channel buffer before the JOIN is received from server when it is auto " "joined (with server option \"autojoin\"); this is useful to open channels " diff --git a/po/pt_BR.po b/po/pt_BR.po index 364190f206d..12aed4c7393 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: 2023-07-11 18:06+0200\n" +"POT-Creation-Date: 2023-07-12 17:22+0200\n" "PO-Revision-Date: 2023-06-26 21:34+0200\n" "Last-Translator: Érico Nogueira \n" "Language-Team: weechat-dev \n" @@ -8618,12 +8618,22 @@ msgid "" "ctcp.%s\" will not work" msgstr "" -msgid "" -"format for CTCP reply or empty string for blocking CTCP (no reply), " -"following variables are replaced: $version (WeeChat version), $compilation " -"(compilation date), $osinfo (info about OS), $site (WeeChat site), $download " -"(WeeChat site, download page), $time (current date and time as text), " -"$username (username on server), $realname (realname on server)" +#, fuzzy +#| msgid "" +#| "format for CTCP reply or empty string for blocking CTCP (no reply), " +#| "following variables are replaced: $version (WeeChat version), " +#| "$compilation (compilation date), $osinfo (info about OS), $site (WeeChat " +#| "site), $download (WeeChat site, download page), $time (current date and " +#| "time as text), $username (username on server), $realname (realname on " +#| "server)" +msgid "" +"format for CTCP reply or empty string for blocking CTCP (no reply); content " +"is evaluated, see /help eval; following variables are replaced: " +"${clientinfo}: list of supported CTCP, ${version}: WeeChat version, ${git}: " +"Git version, ${versiongit}: WeeChat version and Git version, ${compilation}: " +"compilation date, ${osinfo}: info about OS, ${site}: WeeChat site, " +"${download}: WeeChat site, download page, ${time}: current date and time as " +"text, ${username}: username on server, ${realname}: realname on server" msgstr "" "formato para CTCP reply ou string vazia para CTCP bloqueante (sem resposta), " "as seguintes variáveis são substituídas: $version (versão do WeeChat), " @@ -8977,6 +8987,11 @@ msgstr "%s%s: erro ao criar opção do servidor \"%s\"" msgid "IRC option renamed: \"irc.%s.%s\" => \"irc.%s.%s\"" msgstr "" +#, fuzzy, c-format +#| msgid "Command for key: \"%s\"" +msgid "IRC CTCP format converted for \"%s\": \"%s\" => \"%s\"" +msgstr "Comando para tecla: \"%s\"" + msgid "" "open channel buffer before the JOIN is received from server when it is auto " "joined (with server option \"autojoin\"); this is useful to open channels " diff --git a/po/ru.po b/po/ru.po index bd684efbf8f..fa777309850 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: 2023-07-11 18:06+0200\n" +"POT-Creation-Date: 2023-07-12 17:22+0200\n" "PO-Revision-Date: 2023-06-17 11:47+0200\n" "Last-Translator: Aleksey V Zapparov AKA ixti \n" "Language-Team: weechat-dev \n" @@ -8115,11 +8115,13 @@ msgid "" msgstr "" msgid "" -"format for CTCP reply or empty string for blocking CTCP (no reply), " -"following variables are replaced: $version (WeeChat version), $compilation " -"(compilation date), $osinfo (info about OS), $site (WeeChat site), $download " -"(WeeChat site, download page), $time (current date and time as text), " -"$username (username on server), $realname (realname on server)" +"format for CTCP reply or empty string for blocking CTCP (no reply); content " +"is evaluated, see /help eval; following variables are replaced: " +"${clientinfo}: list of supported CTCP, ${version}: WeeChat version, ${git}: " +"Git version, ${versiongit}: WeeChat version and Git version, ${compilation}: " +"compilation date, ${osinfo}: info about OS, ${site}: WeeChat site, " +"${download}: WeeChat site, download page, ${time}: current date and time as " +"text, ${username}: username on server, ${realname}: realname on server" msgstr "" #, fuzzy, c-format @@ -8472,6 +8474,10 @@ msgstr "%s недостаточно памяти для сообщения в с msgid "IRC option renamed: \"irc.%s.%s\" => \"irc.%s.%s\"" msgstr "" +#, c-format +msgid "IRC CTCP format converted for \"%s\": \"%s\" => \"%s\"" +msgstr "" + msgid "" "open channel buffer before the JOIN is received from server when it is auto " "joined (with server option \"autojoin\"); this is useful to open channels " diff --git a/po/sr.po b/po/sr.po index 9e2f05764d8..cb61bddb037 100644 --- a/po/sr.po +++ b/po/sr.po @@ -20,7 +20,7 @@ msgid "" msgstr "" "Project-Id-Version: WeeChat\n" "Report-Msgid-Bugs-To: flashcode@flashtux.org\n" -"POT-Creation-Date: 2023-07-11 18:06+0200\n" +"POT-Creation-Date: 2023-07-12 17:22+0200\n" "PO-Revision-Date: 2023-06-26 21:34+0200\n" "Last-Translator: Ivan Pešić \n" "Language-Team: weechat-dev \n" @@ -10481,12 +10481,22 @@ msgstr "" "%s%s: упозорење: CTCP име „%s” мора бити исписано малим словима, опција „irc." "ctcp.%s” неће функционисати" -msgid "" -"format for CTCP reply or empty string for blocking CTCP (no reply), " -"following variables are replaced: $version (WeeChat version), $compilation " -"(compilation date), $osinfo (info about OS), $site (WeeChat site), $download " -"(WeeChat site, download page), $time (current date and time as text), " -"$username (username on server), $realname (realname on server)" +#, fuzzy +#| msgid "" +#| "format for CTCP reply or empty string for blocking CTCP (no reply), " +#| "following variables are replaced: $version (WeeChat version), " +#| "$compilation (compilation date), $osinfo (info about OS), $site (WeeChat " +#| "site), $download (WeeChat site, download page), $time (current date and " +#| "time as text), $username (username on server), $realname (realname on " +#| "server)" +msgid "" +"format for CTCP reply or empty string for blocking CTCP (no reply); content " +"is evaluated, see /help eval; following variables are replaced: " +"${clientinfo}: list of supported CTCP, ${version}: WeeChat version, ${git}: " +"Git version, ${versiongit}: WeeChat version and Git version, ${compilation}: " +"compilation date, ${osinfo}: info about OS, ${site}: WeeChat site, " +"${download}: WeeChat site, download page, ${time}: current date and time as " +"text, ${username}: username on server, ${realname}: realname on server" msgstr "" "формат за CTCP одговор или празан стринг за блокирајући CTCP (без одговора), " "замењују се следеће променљиве: $version (верзија програма WeeChat), " @@ -10921,6 +10931,11 @@ msgstr "%s%s: грешка приликом креирања опције сер msgid "IRC option renamed: \"irc.%s.%s\" => \"irc.%s.%s\"" msgstr "Промењено је име IRC опције: „irc.%s.%s” => „irc.%s.%s”" +#, fuzzy, c-format +#| msgid "Command converted for key \"%s\": \"%s\" => \"%s\"" +msgid "IRC CTCP format converted for \"%s\": \"%s\" => \"%s\"" +msgstr "Команда конвертована за тастер: „%s”: „%s” => „%s”" + msgid "" "open channel buffer before the JOIN is received from server when it is auto " "joined (with server option \"autojoin\"); this is useful to open channels " diff --git a/po/tr.po b/po/tr.po index d894d352eb5..1e30b4223e0 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: 2023-07-11 18:06+0200\n" +"POT-Creation-Date: 2023-07-12 17:22+0200\n" "PO-Revision-Date: 2023-06-26 21:34+0200\n" "Last-Translator: Emir SARI \n" "Language-Team: weechat-dev \n" @@ -10608,12 +10608,22 @@ msgid "" "ctcp.%s\" will not work" msgstr "" -msgid "" -"format for CTCP reply or empty string for blocking CTCP (no reply), " -"following variables are replaced: $version (WeeChat version), $compilation " -"(compilation date), $osinfo (info about OS), $site (WeeChat site), $download " -"(WeeChat site, download page), $time (current date and time as text), " -"$username (username on server), $realname (realname on server)" +#, fuzzy +#| msgid "" +#| "format for CTCP reply or empty string for blocking CTCP (no reply), " +#| "following variables are replaced: $version (WeeChat version), " +#| "$compilation (compilation date), $osinfo (info about OS), $site (WeeChat " +#| "site), $download (WeeChat site, download page), $time (current date and " +#| "time as text), $username (username on server), $realname (realname on " +#| "server)" +msgid "" +"format for CTCP reply or empty string for blocking CTCP (no reply); content " +"is evaluated, see /help eval; following variables are replaced: " +"${clientinfo}: list of supported CTCP, ${version}: WeeChat version, ${git}: " +"Git version, ${versiongit}: WeeChat version and Git version, ${compilation}: " +"compilation date, ${osinfo}: info about OS, ${site}: WeeChat site, " +"${download}: WeeChat site, download page, ${time}: current date and time as " +"text, ${username}: username on server, ${realname}: realname on server" msgstr "" "CTCP yanıtı veya CTCP'yi engellemek için kullanılan dizi biçimi (yanıt yok), " "şu değişkenler yenileriyle değiştirilir: $version (WeeChat sürümü), " @@ -11078,6 +11088,11 @@ msgstr "%s%s: \"%s\" sunucu seçeneği oluşturulurken hata" msgid "IRC option renamed: \"irc.%s.%s\" => \"irc.%s.%s\"" msgstr "" +#, fuzzy, c-format +#| msgid "Command for key: \"%s\"" +msgid "IRC CTCP format converted for \"%s\": \"%s\" => \"%s\"" +msgstr "Düğme komutu: \"%s\"" + msgid "" "open channel buffer before the JOIN is received from server when it is auto " "joined (with server option \"autojoin\"); this is useful to open channels " diff --git a/po/weechat.pot b/po/weechat.pot index 690fcbb1e7c..3b5342be432 100644 --- a/po/weechat.pot +++ b/po/weechat.pot @@ -21,7 +21,7 @@ msgid "" msgstr "" "Project-Id-Version: WeeChat\n" "Report-Msgid-Bugs-To: flashcode@flashtux.org\n" -"POT-Creation-Date: 2023-07-11 18:06+0200\n" +"POT-Creation-Date: 2023-07-12 17:22+0200\n" "PO-Revision-Date: 2014-08-16 10:27+0200\n" "Last-Translator: Sébastien Helleu \n" "Language-Team: weechat-dev \n" @@ -7269,11 +7269,13 @@ msgid "" msgstr "" msgid "" -"format for CTCP reply or empty string for blocking CTCP (no reply), " -"following variables are replaced: $version (WeeChat version), $compilation " -"(compilation date), $osinfo (info about OS), $site (WeeChat site), $download " -"(WeeChat site, download page), $time (current date and time as text), " -"$username (username on server), $realname (realname on server)" +"format for CTCP reply or empty string for blocking CTCP (no reply); content " +"is evaluated, see /help eval; following variables are replaced: " +"${clientinfo}: list of supported CTCP, ${version}: WeeChat version, ${git}: " +"Git version, ${versiongit}: WeeChat version and Git version, ${compilation}: " +"compilation date, ${osinfo}: info about OS, ${site}: WeeChat site, " +"${download}: WeeChat site, download page, ${time}: current date and time as " +"text, ${username}: username on server, ${realname}: realname on server" msgstr "" #, c-format @@ -7560,6 +7562,10 @@ msgstr "" msgid "IRC option renamed: \"irc.%s.%s\" => \"irc.%s.%s\"" msgstr "" +#, c-format +msgid "IRC CTCP format converted for \"%s\": \"%s\" => \"%s\"" +msgstr "" + msgid "" "open channel buffer before the JOIN is received from server when it is auto " "joined (with server option \"autojoin\"); this is useful to open channels " diff --git a/src/plugins/irc/irc-config.c b/src/plugins/irc/irc-config.c index 0fde4767b0a..36c564f94c8 100644 --- a/src/plugins/irc/irc-config.c +++ b/src/plugins/irc/irc-config.c @@ -1594,15 +1594,19 @@ irc_config_ctcp_create_option_cb (const void *pointer, void *data, config_file, section, option_name, "string", _("format for CTCP reply or empty string for blocking " - "CTCP (no reply), following variables are replaced: " - "$version (WeeChat version), " - "$compilation (compilation date), " - "$osinfo (info about OS), " - "$site (WeeChat site), " - "$download (WeeChat site, download page), " - "$time (current date and time as text), " - "$username (username on server), " - "$realname (realname on server)"), + "CTCP (no reply); content is evaluated, see /help eval; " + "following variables are replaced: " + "${clientinfo}: list of supported CTCP, " + "${version}: WeeChat version, " + "${git}: Git version, " + "${versiongit}: WeeChat version and Git version, " + "${compilation}: compilation date, " + "${osinfo}: info about OS, " + "${site}: WeeChat site, " + "${download}: WeeChat site, download page, " + "${time}: current date and time as text, " + "${username}: username on server, " + "${realname}: realname on server"), NULL, 0, 0, default_value, value, 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); rc = (ptr_option) ? @@ -2796,8 +2800,8 @@ irc_config_update_cb (const void *pointer, void *data, int version_read, struct t_hashtable *data_read) { - const char *ptr_section, *ptr_option; - char *new_option, *pos_option; + const char *ptr_section, *ptr_option, *ptr_value; + char *new_option, *pos_option, *new_value; int changes; /* make C compiler happy */ @@ -2871,6 +2875,39 @@ irc_config_update_cb (const void *pointer, void *data, } } + if (version_read < 3) + { + /* + * changes in v3: + * - options "irc.ctcp.*" are now evaluated + * (eg: "$version" -> "${version"}) + */ + ptr_section = weechat_hashtable_get (data_read, "section"); + ptr_option = weechat_hashtable_get (data_read, "option"); + ptr_value = weechat_hashtable_get (data_read, "value"); + if (ptr_section + && ptr_option + && ptr_value + && ptr_value[0] + && (strcmp (ptr_section, "ctcp") == 0)) + { + new_value = irc_ctcp_convert_legacy_format (ptr_value); + if (new_value && (strcmp (ptr_value, new_value) != 0)) + { + weechat_printf ( + NULL, + _("IRC CTCP format converted for \"%s\": \"%s\" => \"%s\""), + ptr_option, + ptr_value, + new_value); + weechat_hashtable_set (data_read, "value", new_value); + changes++; + } + if (new_value) + free (new_value); + } + } + return (changes) ? data_read : NULL; } diff --git a/src/plugins/irc/irc-config.h b/src/plugins/irc/irc-config.h index 51f845f1911..3a9e8b89926 100644 --- a/src/plugins/irc/irc-config.h +++ b/src/plugins/irc/irc-config.h @@ -23,7 +23,7 @@ #define IRC_CONFIG_NAME "irc" #define IRC_CONFIG_PRIO_NAME (TO_STR(IRC_PLUGIN_PRIORITY) "|" IRC_CONFIG_NAME) -#define IRC_CONFIG_VERSION 2 +#define IRC_CONFIG_VERSION 3 enum t_irc_config_look_server_buffer { diff --git a/src/plugins/irc/irc-ctcp.c b/src/plugins/irc/irc-ctcp.c index 7f5a11a2525..ead48458da7 100644 --- a/src/plugins/irc/irc-ctcp.c +++ b/src/plugins/irc/irc-ctcp.c @@ -41,16 +41,66 @@ struct t_irc_ctcp_reply irc_ctcp_default_reply[] = -{ { "clientinfo", "$clientinfo" }, - { "finger", "WeeChat $version" }, - { "source", "$download" }, - { "time", "$time" }, - { "userinfo", "$username ($realname)" }, - { "version", "WeeChat $version" }, +{ { "clientinfo", "${clientinfo}" }, + { "finger", "WeeChat ${version}" }, + { "source", "${download}" }, + { "time", "${time}" }, + { "userinfo", "${username} (${realname})" }, + { "version", "WeeChat ${version}" }, { NULL, NULL }, }; +/* + * Converts old CTCP format, by converting format "$xxx" to "${xxx}" + * (new CTCP formats are evaluated). + * + * Note: result must be freed after use. + */ + +char * +irc_ctcp_convert_legacy_format (const char *format) +{ + int i; + char *str, *str2, old_format[256], new_format[256]; + char *ctcp_legacy_vars[] = { + "clientinfo", + "versiongit", + "version", + "git", + "osinfo", + "site", + "download", + "username", + "realname", + "date", + "time", + NULL, + }; + + if (!format) + return NULL; + + str = strdup (format);; + str2 = NULL; + + for (i = 0; ctcp_legacy_vars[i]; i++) + { + snprintf (old_format, sizeof (old_format), + "$%s", + ctcp_legacy_vars[i]); + snprintf (new_format, sizeof (new_format), + "${%s}", + ctcp_legacy_vars[i]); + str2 = weechat_string_replace (str, old_format, new_format); + if (str) + free (str); + str = str2; + } + + return str; +} + /* * Gets default reply for a CTCP query. * @@ -378,44 +428,58 @@ irc_ctcp_reply_to_nick (struct t_irc_server *server, } /* - * Replaces variables in CTCP format. + * Evaluates CTCP reply format. * * Note: result must be freed after use. */ char * -irc_ctcp_replace_variables (struct t_irc_server *server, const char *format) +irc_ctcp_eval_reply (struct t_irc_server *server, const char *format) { - char *res, *temp, *username, *realname, *info, *info2; + struct t_hashtable *extra_vars; + char *info, *info_version, *info_version_git, *username, *realname; + char buf[4096], *value; time_t now; struct tm *local_time; - char buf[4096]; struct utsname *buf_uname; + if (!server || !format) + return NULL; + + extra_vars = weechat_hashtable_new ( + 32, + WEECHAT_HASHTABLE_STRING, + WEECHAT_HASHTABLE_STRING, + NULL, NULL); + if (!extra_vars) + return NULL; + /* * $clientinfo: supported CTCP, example: * ACTION DCC CLIENTINFO FINGER PING SOURCE TIME USERINFO VERSION */ - temp = weechat_string_replace ( - format, "$clientinfo", - "ACTION DCC CLIENTINFO FINGER PING SOURCE TIME USERINFO VERSION"); - if (!temp) - return NULL; - res = temp; + weechat_hashtable_set (extra_vars, "clientinfo", + "ACTION DCC CLIENTINFO FINGER PING SOURCE TIME " + "USERINFO VERSION"); + + info_version = weechat_info_get ("version", ""); + info_version_git = weechat_info_get ("version_git", ""); + + /* + * $version: WeeChat version, examples: + * 0.3.9 + * 0.4.0-dev + */ + if (info_version) + weechat_hashtable_set (extra_vars, "version", info_version); /* * $git: git version (output of "git describe" for a development version * only, empty string if unknown), example: * v0.3.9-104-g7eb5cc4 */ - info = weechat_info_get ("version_git", ""); - temp = weechat_string_replace (res, "$git", info); - free (res); - if (info) - free (info); - if (!temp) - return NULL; - res = temp; + if (info_version_git) + weechat_hashtable_set (extra_vars, "git", info_version_git); /* * $versiongit: WeeChat version + git version (if known), examples: @@ -423,49 +487,24 @@ irc_ctcp_replace_variables (struct t_irc_server *server, const char *format) * 0.4.0-dev * 0.4.0-dev (git: v0.3.9-104-g7eb5cc4) */ - info = weechat_info_get ("version_git", ""); - info2 = weechat_info_get ("version", ""); - snprintf (buf, sizeof (buf), "%s%s%s%s", - info2, - (info && info[0]) ? " (git: " : "", - (info && info[0]) ? info : "", - (info && info[0]) ? ")" : ""); - temp = weechat_string_replace (res, "$versiongit", buf); - free (res); - if (info) - free (info); - if (info2) - free (info2); - if (!temp) - return NULL; - res = temp; - - /* - * $version: WeeChat version, examples: - * 0.3.9 - * 0.4.0-dev - */ - info = weechat_info_get ("version", ""); - temp = weechat_string_replace (res, "$version", info); - free (res); - if (info) - free (info); - if (!temp) - return NULL; - res = temp; + if (info_version && info_version_git) + { + snprintf (buf, sizeof (buf), "%s (git: %s)", + info_version, + info_version_git); + weechat_hashtable_set (extra_vars, "versiongit", buf); + } /* * $compilation: compilation date, example: * Dec 16 2012 */ info = weechat_info_get ("date", ""); - temp = weechat_string_replace (res, "$compilation", info); - free (res); if (info) + { + weechat_hashtable_set (extra_vars, "compilation", info); free (info); - if (!temp) - return NULL; - res = temp; + } /* * $osinfo: info about OS, example: @@ -476,19 +515,15 @@ irc_ctcp_replace_variables (struct t_irc_server *server, const char *format) { if (uname (buf_uname) >= 0) { - snprintf (buf, sizeof (buf), "%s %s / %s", - buf_uname->sysname, buf_uname->release, + snprintf (buf, sizeof (buf), + "%s %s / %s", + buf_uname->sysname, + buf_uname->release, buf_uname->machine); - temp = weechat_string_replace (res, "$osinfo", buf); - free (res); - if (!temp) - { - free (buf_uname); - return NULL; - } - res = temp; + weechat_hashtable_set (extra_vars, "osinfo", buf); } - free (buf_uname); + if (buf_uname) + free (buf_uname); } /* @@ -496,26 +531,22 @@ irc_ctcp_replace_variables (struct t_irc_server *server, const char *format) * https://weechat.org/ */ info = weechat_info_get ("weechat_site", ""); - temp = weechat_string_replace (res, "$site", info); - free (res); if (info) + { + weechat_hashtable_set (extra_vars, "site", info); free (info); - if (!temp) - return NULL; - res = temp; + } /* * $download: WeeChat download page, example: * https://weechat.org/download/ */ info = weechat_info_get ("weechat_site_download", ""); - temp = weechat_string_replace (res, "$download", info); - free (res); if (info) + { + weechat_hashtable_set (extra_vars, "download", info); free (info); - if (!temp) - return NULL; - res = temp; + } /* * $time: local date/time of user, example: @@ -529,11 +560,7 @@ irc_ctcp_replace_variables (struct t_irc_server *server, const char *format) local_time) == 0) buf[0] = '\0'; setlocale (LC_ALL, ""); - temp = weechat_string_replace (res, "$time", buf); - free (res); - if (!temp) - return NULL; - res = temp; + weechat_hashtable_set (extra_vars, "time", buf); /* * $username: user name, example: @@ -544,11 +571,7 @@ irc_ctcp_replace_variables (struct t_irc_server *server, const char *format) IRC_SERVER_OPTION_STRING(server, IRC_SERVER_OPTION_USERNAME)); if (username) { - temp = weechat_string_replace (res, "$username", username); - free (res); - if (!temp) - return NULL; - res = temp; + weechat_hashtable_set (extra_vars, "username", username); free (username); } @@ -561,16 +584,20 @@ irc_ctcp_replace_variables (struct t_irc_server *server, const char *format) IRC_SERVER_OPTION_STRING(server, IRC_SERVER_OPTION_REALNAME)); if (realname) { - temp = weechat_string_replace (res, "$realname", realname); - free (res); - if (!temp) - return NULL; - res = temp; + weechat_hashtable_set (extra_vars, "realname", realname); free (realname); } - /* return result */ - return res; + value = weechat_string_eval_expression (format, NULL, extra_vars, NULL); + + if (info_version) + free (info_version); + if (info_version_git) + free (info_version_git); + + weechat_hashtable_free (extra_vars); + + return value; } /* @@ -1048,7 +1075,7 @@ irc_ctcp_recv (struct t_irc_server *server, time_t date, const char *arguments, const char *message) { char *dup_arguments, *ptr_args, *pos_end, *pos_space, *pos_args; - char *nick_color, *decoded_reply; + char *nick_color, *reply_eval; const char *reply; struct t_irc_channel *ptr_channel; struct t_irc_nick *ptr_nick; @@ -1213,13 +1240,13 @@ irc_ctcp_recv (struct t_irc_server *server, time_t date, { if (reply) { - decoded_reply = irc_ctcp_replace_variables (server, reply); - if (decoded_reply) + reply_eval = irc_ctcp_eval_reply (server, reply); + if (reply_eval) { irc_ctcp_reply_to_nick (server, tags, command, channel, nick, ptr_args + 1, - decoded_reply); - free (decoded_reply); + reply_eval); + free (reply_eval); } } else @@ -1246,13 +1273,13 @@ irc_ctcp_recv (struct t_irc_server *server, time_t date, if (reply[0]) { - decoded_reply = irc_ctcp_replace_variables (server, reply); - if (decoded_reply) + reply_eval = irc_ctcp_eval_reply (server, reply); + if (reply_eval) { irc_ctcp_reply_to_nick (server, tags, command, channel, nick, ptr_args + 1, - decoded_reply); - free (decoded_reply); + reply_eval); + free (reply_eval); } } } diff --git a/src/plugins/irc/irc-ctcp.h b/src/plugins/irc/irc-ctcp.h index c2b165f0522..2a7eb24f2f5 100644 --- a/src/plugins/irc/irc-ctcp.h +++ b/src/plugins/irc/irc-ctcp.h @@ -33,6 +33,7 @@ struct t_irc_ctcp_reply extern struct t_irc_ctcp_reply irc_ctcp_default_reply[]; +extern char *irc_ctcp_convert_legacy_format (const char *format); extern const char *irc_ctcp_get_default_reply (const char *ctcp); extern const char *irc_ctcp_get_reply (struct t_irc_server *server, const char *ctcp); @@ -43,8 +44,8 @@ extern void irc_ctcp_display_reply_from_nick (struct t_irc_server *server, const char *nick, const char *address, const char *arguments); -extern char *irc_ctcp_replace_variables (struct t_irc_server *server, - const char *format); +extern char *irc_ctcp_eval_reply (struct t_irc_server *server, + const char *format); extern void irc_ctcp_recv (struct t_irc_server *server, time_t date, struct t_hashtable *tags, const char *command, struct t_irc_channel *channel, const char *target, diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt index 048c8a0971a..f84c4bea1ad 100644 --- a/tests/CMakeLists.txt +++ b/tests/CMakeLists.txt @@ -75,6 +75,7 @@ if(ENABLE_IRC) unit/plugins/irc/test-irc-channel.cpp unit/plugins/irc/test-irc-color.cpp unit/plugins/irc/test-irc-config.cpp + unit/plugins/irc/test-irc-ctcp.cpp unit/plugins/irc/test-irc-ignore.cpp unit/plugins/irc/test-irc-join.cpp unit/plugins/irc/test-irc-message.cpp diff --git a/tests/unit/plugins/irc/test-irc-ctcp.cpp b/tests/unit/plugins/irc/test-irc-ctcp.cpp new file mode 100644 index 00000000000..4267aff07e8 --- /dev/null +++ b/tests/unit/plugins/irc/test-irc-ctcp.cpp @@ -0,0 +1,247 @@ +/* + * test-irc-ctcp.cpp - test IRC CTCP functions + * + * Copyright (C) 2023 Sébastien Helleu + * + * This file is part of WeeChat, the extensible chat client. + * + * WeeChat is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * WeeChat is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with WeeChat. If not, see . + */ + +#include "CppUTest/TestHarness.h" + +#include "tests/tests.h" + +extern "C" +{ +#include +#include "src/core/wee-config-file.h" +#include "src/core/wee-hook.h" +#include "src/plugins/irc/irc-config.h" +#include "src/plugins/irc/irc-ctcp.h" +#include "src/plugins/irc/irc-server.h" +} + +TEST_GROUP(IrcCtcp) +{ +}; + +/* + * Tests functions: + * irc_ctcp_convert_legacy_format + */ + +TEST(IrcCtcp, IrcCtcpConvertLegacyFormat) +{ + char *str; + + WEE_TEST_STR(NULL, irc_ctcp_convert_legacy_format (NULL)); + WEE_TEST_STR("", irc_ctcp_convert_legacy_format ("")); + + WEE_TEST_STR("abc", irc_ctcp_convert_legacy_format ("abc")); + + WEE_TEST_STR( + "${clientinfo} ${version} ${git} ${versiongit} ${date} " + "${osinfo} ${site} ${download} ${time} ${username} ${realname}", + irc_ctcp_convert_legacy_format ( + "$clientinfo $version $git $versiongit $date " + "$osinfo $site $download $time $username $realname")); +} + +/* + * Tests functions: + * irc_ctcp_get_default_reply + */ + +TEST(IrcCtcp, IrcCtcpGetDefaultReply) +{ + /* TODO: write tests */ +} + +/* + * Tests functions: + * irc_ctcp_get_reply + */ + +TEST(IrcCtcp, IrcCtcpGetReply) +{ + /* TODO: write tests */ +} + +/* + * Tests functions: + * irc_ctcp_display_request + */ + +TEST(IrcCtcp, IrcCtcpDisplayRequest) +{ + /* TODO: write tests */ +} + +/* + * Tests functions: + * irc_ctcp_display_reply_from_nick + */ + +TEST(IrcCtcp, IrcCtcpDisplayReplyFromNick) +{ + /* TODO: write tests */ +} + +/* + * Tests functions: + * irc_ctcp_reply_to_nick + */ + +TEST(IrcCtcp, IrcCtcpReplyToNick) +{ + /* TODO: write tests */ +} + +/* + * Tests functions: + * irc_ctcp_eval_reply + */ + +TEST(IrcCtcp, IrcCtcpEvalReply) +{ + struct t_irc_server *server; + char *str, *info_version, *info_version_git, *info_date, *info_site; + char *info_site_download, *username, *realname, buf[4096]; + struct utsname *buf_uname; + + server = irc_server_alloc ("server"); + CHECK(server); + + info_version = hook_info_get (NULL, "version", ""); + info_version_git = hook_info_get (NULL, "version_git", ""); + info_date = hook_info_get (NULL, "date", ""); + info_site = hook_info_get (NULL, "weechat_site", ""); + info_site_download = hook_info_get (NULL, "weechat_site_download", ""); + + WEE_TEST_STR(NULL, irc_ctcp_eval_reply (NULL, NULL)); + WEE_TEST_STR(NULL, irc_ctcp_eval_reply (NULL, "")); + + WEE_TEST_STR(NULL, irc_ctcp_eval_reply (server, NULL)); + WEE_TEST_STR("", irc_ctcp_eval_reply (server, "")); + + WEE_TEST_STR("abc", irc_ctcp_eval_reply (server, "abc")); + + /* ${clientinfo} */ + WEE_TEST_STR("ACTION DCC CLIENTINFO FINGER PING SOURCE TIME USERINFO VERSION", + irc_ctcp_eval_reply (server, "${clientinfo}")); + + /* ${version} */ + WEE_TEST_STR(info_version, irc_ctcp_eval_reply (server, "${version}")); + + /* ${git} */ + WEE_TEST_STR(info_version_git, irc_ctcp_eval_reply (server, "${git}")); + + /* ${versiongit} */ + snprintf (buf, sizeof (buf), + "%s (git: %s)", + info_version, + info_version_git); + WEE_TEST_STR(buf, irc_ctcp_eval_reply (server, "${versiongit}")); + + /* ${compilation} */ + WEE_TEST_STR(info_date, irc_ctcp_eval_reply (server, "${compilation}")); + + /* ${osinfo} */ + buf_uname = (struct utsname *)malloc (sizeof (struct utsname)); + CHECK(buf_uname); + CHECK(uname (buf_uname) >= 0); + snprintf (buf, sizeof (buf), + "%s %s / %s", + buf_uname->sysname, + buf_uname->release, + buf_uname->machine); + WEE_TEST_STR(buf, irc_ctcp_eval_reply (server, "${osinfo}")); + free (buf_uname); + + /* ${site} */ + WEE_TEST_STR(info_site, irc_ctcp_eval_reply (server, "${site}")); + + /* ${download} */ + WEE_TEST_STR(info_site_download, irc_ctcp_eval_reply (server, "${download}")); + + /* ${time} */ + str = irc_ctcp_eval_reply (server, "${time}"); + CHECK(strcmp (str, "") != 0); + free (str); + + /* ${username} */ + username = irc_server_eval_expression ( + server, + CONFIG_STRING(irc_config_server_default[IRC_SERVER_OPTION_USERNAME])); + CHECK(username); + WEE_TEST_STR(username, irc_ctcp_eval_reply (server, "${username}")); + free (username); + + /* ${realname} */ + realname = irc_server_eval_expression ( + server, + CONFIG_STRING(irc_config_server_default[IRC_SERVER_OPTION_REALNAME])); + CHECK(realname); + WEE_TEST_STR(realname, irc_ctcp_eval_reply (server, "${realname}")); + free (realname); + + free (info_version); + free (info_version_git); + free (info_date); + free (info_site); + free (info_site_download); + + irc_server_free (server); +} + +/* + * Tests functions: + * irc_ctcp_dcc_filename_without_quotes + */ + +TEST(IrcCtcp, IrcCtcpDccFilenameWithoutQuotes) +{ + /* TODO: write tests */ +} + +/* + * Tests functions: + * irc_ctcp_recv_dcc + */ + +TEST(IrcCtcp, IrcCtcpRecvDcc) +{ + /* TODO: write tests */ +} + +/* + * Tests functions: + * irc_ctcp_recv + */ + +TEST(IrcCtcp, IrcCtcpRecv) +{ + /* TODO: write tests */ +} + +/* + * Tests functions: + * irc_ctcp_send + */ + +TEST(IrcCtcp, IrcCtcpSend) +{ + /* TODO: write tests */ +} diff --git a/tests/unit/plugins/irc/test-irc-protocol.cpp b/tests/unit/plugins/irc/test-irc-protocol.cpp index a82399b3823..6061e5169f5 100644 --- a/tests/unit/plugins/irc/test-irc-protocol.cpp +++ b/tests/unit/plugins/irc/test-irc-protocol.cpp @@ -2801,9 +2801,8 @@ TEST(IrcProtocolWithServer, privmsg) RECV(":bob!user@host PRIVMSG #test :\01VERSION"); CHECK_CHAN("--", "CTCP requested by bob: VERSION", "irc_privmsg,irc_ctcp,host_user@host,log1"); - info = irc_ctcp_replace_variables (ptr_server, - irc_ctcp_get_reply (ptr_server, - "VERSION")); + info = irc_ctcp_eval_reply (ptr_server, + irc_ctcp_get_reply (ptr_server, "VERSION")); snprintf (message, sizeof (message), "CTCP reply to bob: VERSION %s", info); CHECK_CHAN("--", message, @@ -2840,9 +2839,8 @@ TEST(IrcProtocolWithServer, privmsg) "irc_privmsg,irc_action,notify_private,nick_bob," "host_user@host,log1"); RECV(":bob!user@host PRIVMSG alice :\01VERSION"); - info = irc_ctcp_replace_variables (ptr_server, - irc_ctcp_get_reply (ptr_server, - "VERSION")); + info = irc_ctcp_eval_reply (ptr_server, + irc_ctcp_get_reply (ptr_server, "VERSION")); snprintf (message, sizeof (message), "CTCP reply to bob: VERSION %s", info); CHECK_SRV("--", message, @@ -2923,9 +2921,8 @@ TEST(IrcProtocolWithServer, privmsg) RECV(":bob!user@host PRIVMSG alice :\01VERSION\01"); CHECK_SRV("--", "CTCP requested by bob: VERSION", "irc_privmsg,irc_ctcp,host_user@host,log1"); - info = irc_ctcp_replace_variables (ptr_server, - irc_ctcp_get_reply (ptr_server, - "VERSION")); + info = irc_ctcp_eval_reply (ptr_server, + irc_ctcp_get_reply (ptr_server, "VERSION")); snprintf (message, sizeof (message), "CTCP reply to bob: VERSION %s", info); CHECK_SRV("--", message,