irc: add info "irc_is_message_ignored"
This commit is contained in:
parent
42a86f0a36
commit
a34959a619
@ -25,6 +25,7 @@ New features::
|
||||
* core: add buffer local variable "completion_default_template" (evaluated) to override the value of option "weechat.completion.default_template" (issue #1600)
|
||||
* core: add option "recreate" in command /filter
|
||||
* core: add evaluation of conditions in evaluation of expressions with "eval_cond:" (issue #1582)
|
||||
* irc: add info "irc_is_message_ignored"
|
||||
* irc: add server option "default_chantypes", used when the server does not send them in message 005 (issue #1610)
|
||||
* trigger: add variable "${tg_trigger_name}" in command trigger evaluated strings (issue #1580)
|
||||
|
||||
|
@ -20,6 +20,8 @@
|
||||
|
||||
| irc | irc_is_channel | 1, falls die Zeichenkette ein gültiger IRC-Channelname für den Server ist | Server,Channel (Server ist optional)
|
||||
|
||||
| irc | irc_is_message_ignored | 1 if the nick is ignored (message is not displayed) | server,message (message is the raw IRC message)
|
||||
|
||||
| irc | irc_is_nick | 1, falls die Zeichenkette ein gültiger IRC Nickname ist | Server,Nickname (Server ist optional)
|
||||
|
||||
| irc | irc_nick | aktuellen Nicknamen für den Server erhalten | Servername
|
||||
|
@ -20,6 +20,8 @@
|
||||
|
||||
| irc | irc_is_channel | 1 if string is a valid IRC channel name for server | server,channel (server is optional)
|
||||
|
||||
| irc | irc_is_message_ignored | 1 if the nick is ignored (message is not displayed) | server,message (message is the raw IRC message)
|
||||
|
||||
| irc | irc_is_nick | 1 if string is a valid IRC nick name | server,nickname (server is optional)
|
||||
|
||||
| irc | irc_nick | get current nick on a server | server name
|
||||
|
@ -20,6 +20,8 @@
|
||||
|
||||
| irc | irc_is_channel | 1 si la chaîne est un nom de canal IRC valide pour le serveur | serveur,canal (le serveur est optionnel)
|
||||
|
||||
| irc | irc_is_message_ignored | 1 si le pseudo est ignoré (le message n'est pas affiché) | serveur,message (message est le message brut IRC)
|
||||
|
||||
| irc | irc_is_nick | 1 si la chaîne est un pseudo IRC valide | serveur,pseudo (le serveur est optionnel)
|
||||
|
||||
| irc | irc_nick | retourne le pseudo utilisé actuellement sur un serveur | nom de serveur
|
||||
|
@ -20,6 +20,8 @@
|
||||
|
||||
| irc | irc_is_channel | 1 se la stringa è il nome di un canale IRC valido per il server | server,canale (server è opzionale)
|
||||
|
||||
| irc | irc_is_message_ignored | 1 if the nick is ignored (message is not displayed) | server,message (message is the raw IRC message)
|
||||
|
||||
| irc | irc_is_nick | 1 se la stringa è un nick IRC valido | server,nickname (server is optional)
|
||||
|
||||
| irc | irc_nick | ottiene nick corrente su un server | nome server
|
||||
|
@ -20,6 +20,8 @@
|
||||
|
||||
| irc | irc_is_channel | 文字列がサーバの有効な IRC チャンネル名なら 1 | サーバ、チャンネル (サーバは任意)
|
||||
|
||||
| irc | irc_is_message_ignored | 1 if the nick is ignored (message is not displayed) | server,message (message is the raw IRC message)
|
||||
|
||||
| irc | irc_is_nick | 文字列が有効な IRC ニックネームなら 1 | server,nickname (server is optional)
|
||||
|
||||
| irc | irc_nick | あるサーバの現在のニックネームを取得 | サーバ名
|
||||
|
@ -20,6 +20,8 @@
|
||||
|
||||
| irc | irc_is_channel | 1 jeśli ciąg jest poprawną nazwą kanału IRC dla serwera | serwer,kanał (serwer jest opcjonalny)
|
||||
|
||||
| irc | irc_is_message_ignored | 1 if the nick is ignored (message is not displayed) | server,message (message is the raw IRC message)
|
||||
|
||||
| irc | irc_is_nick | 1 jeśli ciąg jest poprawną nazwą użytkownika IRC | serwer,nick (serwer jest opcjonalny)
|
||||
|
||||
| irc | irc_nick | pobiera aktualny nick z serwera | nazwa serwera
|
||||
|
8
po/cs.po
8
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: 2021-01-30 09:32+0100\n"
|
||||
"POT-Creation-Date: 2021-02-03 18:29+0100\n"
|
||||
"PO-Revision-Date: 2020-04-28 16:40+0200\n"
|
||||
"Last-Translator: Ondřej Súkup <mimi.vx@gmail.com>\n"
|
||||
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
|
||||
@ -8939,6 +8939,12 @@ msgstr "server,vlasnost"
|
||||
msgid "value of feature, if supported by server (from IRC message 005)"
|
||||
msgstr "hodnota funkce, pokud je podporována serverem (z IRC zprávy 005)"
|
||||
|
||||
msgid "1 if the nick is ignored (message is not displayed)"
|
||||
msgstr ""
|
||||
|
||||
msgid "server,message (message is the raw IRC message)"
|
||||
msgstr ""
|
||||
|
||||
msgid "parse an IRC message"
|
||||
msgstr "rozdělit IRC zprávu"
|
||||
|
||||
|
8
po/de.po
8
po/de.po
@ -24,7 +24,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: WeeChat\n"
|
||||
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
|
||||
"POT-Creation-Date: 2021-01-30 09:32+0100\n"
|
||||
"POT-Creation-Date: 2021-02-03 18:29+0100\n"
|
||||
"PO-Revision-Date: 2021-01-31 10:32+0100\n"
|
||||
"Last-Translator: Nils Görs <weechatter@arcor.de>\n"
|
||||
"Language-Team: German <kde-i18n-de@kde.org>\n"
|
||||
@ -10802,6 +10802,12 @@ msgstr ""
|
||||
"Wert der Funktion, sofern es vom Server unterstützt wird (durch IRC Message "
|
||||
"005)"
|
||||
|
||||
msgid "1 if the nick is ignored (message is not displayed)"
|
||||
msgstr ""
|
||||
|
||||
msgid "server,message (message is the raw IRC message)"
|
||||
msgstr ""
|
||||
|
||||
msgid "parse an IRC message"
|
||||
msgstr "Parse eine IRC Nachricht"
|
||||
|
||||
|
8
po/es.po
8
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: 2021-01-30 09:32+0100\n"
|
||||
"POT-Creation-Date: 2021-02-03 18:29+0100\n"
|
||||
"PO-Revision-Date: 2020-04-28 16:40+0200\n"
|
||||
"Last-Translator: Elián Hanisch <lambdae2@gmail.com>\n"
|
||||
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
|
||||
@ -9240,6 +9240,12 @@ msgstr ""
|
||||
"valor de la característica, si es soportada por el servidor (desde el "
|
||||
"mensaje IRC 005)"
|
||||
|
||||
msgid "1 if the nick is ignored (message is not displayed)"
|
||||
msgstr ""
|
||||
|
||||
msgid "server,message (message is the raw IRC message)"
|
||||
msgstr ""
|
||||
|
||||
msgid "parse an IRC message"
|
||||
msgstr "analiza un mensaje IRC"
|
||||
|
||||
|
10
po/fr.po
10
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: 2021-01-30 09:32+0100\n"
|
||||
"PO-Revision-Date: 2021-01-30 09:54+0100\n"
|
||||
"POT-Creation-Date: 2021-02-03 18:29+0100\n"
|
||||
"PO-Revision-Date: 2021-02-03 18:29+0100\n"
|
||||
"Last-Translator: Sébastien Helleu <flashcode@flashtux.org>\n"
|
||||
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
|
||||
"Language: fr\n"
|
||||
@ -10555,6 +10555,12 @@ msgid "value of feature, if supported by server (from IRC message 005)"
|
||||
msgstr ""
|
||||
"valeur de la fonctionnalité, si supportée par le serveur (du message IRC 005)"
|
||||
|
||||
msgid "1 if the nick is ignored (message is not displayed)"
|
||||
msgstr "1 si le pseudo est ignoré (le message n'est pas affiché)"
|
||||
|
||||
msgid "server,message (message is the raw IRC message)"
|
||||
msgstr "serveur,message (message est le message brut IRC)"
|
||||
|
||||
msgid "parse an IRC message"
|
||||
msgstr "analyse un message IRC"
|
||||
|
||||
|
8
po/hu.po
8
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: 2021-01-30 09:32+0100\n"
|
||||
"POT-Creation-Date: 2021-02-03 18:29+0100\n"
|
||||
"PO-Revision-Date: 2020-04-28 16:40+0200\n"
|
||||
"Last-Translator: Andras Voroskoi <voroskoi@frugalware.org>\n"
|
||||
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
|
||||
@ -8328,6 +8328,12 @@ msgstr "cél: szerver neve"
|
||||
msgid "value of feature, if supported by server (from IRC message 005)"
|
||||
msgstr ""
|
||||
|
||||
msgid "1 if the nick is ignored (message is not displayed)"
|
||||
msgstr ""
|
||||
|
||||
msgid "server,message (message is the raw IRC message)"
|
||||
msgstr ""
|
||||
|
||||
#, fuzzy
|
||||
msgid "parse an IRC message"
|
||||
msgstr "üzenet: küldendő üzenet"
|
||||
|
8
po/it.po
8
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: 2021-01-30 09:32+0100\n"
|
||||
"POT-Creation-Date: 2021-02-03 18:29+0100\n"
|
||||
"PO-Revision-Date: 2020-04-28 16:40+0200\n"
|
||||
"Last-Translator: Esteban I. Ruiz Moreno <exio4.com@gmail.com>\n"
|
||||
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
|
||||
@ -9433,6 +9433,12 @@ msgid "value of feature, if supported by server (from IRC message 005)"
|
||||
msgstr ""
|
||||
"valore della caratteristica, se supportata dal servre (dal messaggio IRC 005)"
|
||||
|
||||
msgid "1 if the nick is ignored (message is not displayed)"
|
||||
msgstr ""
|
||||
|
||||
msgid "server,message (message is the raw IRC message)"
|
||||
msgstr ""
|
||||
|
||||
msgid "parse an IRC message"
|
||||
msgstr "controlla un messaggio IRC"
|
||||
|
||||
|
8
po/ja.po
8
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: 2021-01-30 09:32+0100\n"
|
||||
"POT-Creation-Date: 2021-02-03 18:29+0100\n"
|
||||
"PO-Revision-Date: 2020-04-28 16:40+0200\n"
|
||||
"Last-Translator: AYANOKOUZI, Ryuunosuke <i38w7i3@yahoo.co.jp>\n"
|
||||
"Language-Team: Japanese <https://github.com/l/weechat/tree/master/"
|
||||
@ -10073,6 +10073,12 @@ msgstr "サーバ、機能"
|
||||
msgid "value of feature, if supported by server (from IRC message 005)"
|
||||
msgstr "サーバがサポートする場合、機能の値 (IRC メッセージ 005 を使う)"
|
||||
|
||||
msgid "1 if the nick is ignored (message is not displayed)"
|
||||
msgstr ""
|
||||
|
||||
msgid "server,message (message is the raw IRC message)"
|
||||
msgstr ""
|
||||
|
||||
msgid "parse an IRC message"
|
||||
msgstr "IRC メッセージを解析"
|
||||
|
||||
|
8
po/pl.po
8
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: 2021-01-30 09:32+0100\n"
|
||||
"POT-Creation-Date: 2021-02-03 18:29+0100\n"
|
||||
"PO-Revision-Date: 2021-01-15 21:34+0100\n"
|
||||
"Last-Translator: Krzysztof Korościk <soltys@soltys.info>\n"
|
||||
"Language-Team: Polish <kde-i18n-doc@kde.org>\n"
|
||||
@ -10310,6 +10310,12 @@ msgstr "serwer,właściwość"
|
||||
msgid "value of feature, if supported by server (from IRC message 005)"
|
||||
msgstr "wartość opcji, jeśli jest wpierana przez serwer (z wiadomości IRC 005)"
|
||||
|
||||
msgid "1 if the nick is ignored (message is not displayed)"
|
||||
msgstr ""
|
||||
|
||||
msgid "server,message (message is the raw IRC message)"
|
||||
msgstr ""
|
||||
|
||||
msgid "parse an IRC message"
|
||||
msgstr "przetwarza wiadomość IRC"
|
||||
|
||||
|
8
po/pt.po
8
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: 2021-01-30 09:32+0100\n"
|
||||
"POT-Creation-Date: 2021-02-03 18:29+0100\n"
|
||||
"PO-Revision-Date: 2020-04-28 16:40+0200\n"
|
||||
"Last-Translator: Vasco Almeida <vascomalmeida@sapo.pt>\n"
|
||||
"Language-Team: Portuguese <>\n"
|
||||
@ -9889,6 +9889,12 @@ msgid "value of feature, if supported by server (from IRC message 005)"
|
||||
msgstr ""
|
||||
"valor da funcionalidade, se suportada pelo servidor (da mensagem de IRC 005)"
|
||||
|
||||
msgid "1 if the nick is ignored (message is not displayed)"
|
||||
msgstr ""
|
||||
|
||||
msgid "server,message (message is the raw IRC message)"
|
||||
msgstr ""
|
||||
|
||||
msgid "parse an IRC message"
|
||||
msgstr "analisar um mensagem de IRC"
|
||||
|
||||
|
@ -21,7 +21,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: WeeChat\n"
|
||||
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
|
||||
"POT-Creation-Date: 2021-01-30 09:32+0100\n"
|
||||
"POT-Creation-Date: 2021-02-03 18:29+0100\n"
|
||||
"PO-Revision-Date: 2020-04-18 11:34+0200\n"
|
||||
"Last-Translator: Eduardo Elias <camponez@gmail.com>\n"
|
||||
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
|
||||
@ -8764,6 +8764,12 @@ msgstr ""
|
||||
"valor da funcionalidade, se suportada pelo servidor (da \"message 005\" do "
|
||||
"IRC)"
|
||||
|
||||
msgid "1 if the nick is ignored (message is not displayed)"
|
||||
msgstr ""
|
||||
|
||||
msgid "server,message (message is the raw IRC message)"
|
||||
msgstr ""
|
||||
|
||||
msgid "parse an IRC message"
|
||||
msgstr "interpretar uma mensagem IRC"
|
||||
|
||||
|
8
po/ru.po
8
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: 2021-01-30 09:32+0100\n"
|
||||
"POT-Creation-Date: 2021-02-03 18:29+0100\n"
|
||||
"PO-Revision-Date: 2020-04-28 16:40+0200\n"
|
||||
"Last-Translator: Aleksey V Zapparov AKA ixti <ixti@member.fsf.org>\n"
|
||||
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
|
||||
@ -8362,6 +8362,12 @@ msgstr "цель: название сервера"
|
||||
msgid "value of feature, if supported by server (from IRC message 005)"
|
||||
msgstr ""
|
||||
|
||||
msgid "1 if the nick is ignored (message is not displayed)"
|
||||
msgstr ""
|
||||
|
||||
msgid "server,message (message is the raw IRC message)"
|
||||
msgstr ""
|
||||
|
||||
#, fuzzy
|
||||
msgid "parse an IRC message"
|
||||
msgstr "сообщение: отправляемое сообщение"
|
||||
|
8
po/tr.po
8
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: 2021-01-30 09:32+0100\n"
|
||||
"POT-Creation-Date: 2021-02-03 18:29+0100\n"
|
||||
"PO-Revision-Date: 2019-11-03 08:38+0100\n"
|
||||
"Last-Translator: Hasan Kiran <sunder67@hotmail.com>\n"
|
||||
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
|
||||
@ -7563,6 +7563,12 @@ msgstr ""
|
||||
msgid "value of feature, if supported by server (from IRC message 005)"
|
||||
msgstr ""
|
||||
|
||||
msgid "1 if the nick is ignored (message is not displayed)"
|
||||
msgstr ""
|
||||
|
||||
msgid "server,message (message is the raw IRC message)"
|
||||
msgstr ""
|
||||
|
||||
msgid "parse an IRC message"
|
||||
msgstr ""
|
||||
|
||||
|
@ -21,7 +21,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: WeeChat\n"
|
||||
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
|
||||
"POT-Creation-Date: 2021-01-30 09:32+0100\n"
|
||||
"POT-Creation-Date: 2021-02-03 18:29+0100\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"
|
||||
@ -7421,6 +7421,12 @@ msgstr ""
|
||||
msgid "value of feature, if supported by server (from IRC message 005)"
|
||||
msgstr ""
|
||||
|
||||
msgid "1 if the nick is ignored (message is not displayed)"
|
||||
msgstr ""
|
||||
|
||||
msgid "server,message (message is the raw IRC message)"
|
||||
msgstr ""
|
||||
|
||||
msgid "parse an IRC message"
|
||||
msgstr ""
|
||||
|
||||
|
@ -400,6 +400,47 @@ irc_info_info_irc_server_isupport_value_cb (const void *pointer, void *data,
|
||||
return (isupport_value) ? strdup (isupport_value) : NULL;
|
||||
}
|
||||
|
||||
/*
|
||||
* Returns IRC info "irc_is_message_ignored".
|
||||
*/
|
||||
|
||||
char *
|
||||
irc_info_info_irc_is_message_ignored_cb (const void *pointer, void *data,
|
||||
const char *info_name,
|
||||
const char *arguments)
|
||||
{
|
||||
char *pos_comma, *server;
|
||||
const char *pos_message;
|
||||
struct t_irc_server *ptr_server;
|
||||
|
||||
/* make C compiler happy */
|
||||
(void) pointer;
|
||||
(void) data;
|
||||
(void) info_name;
|
||||
|
||||
if (!arguments || !arguments[0])
|
||||
return NULL;
|
||||
|
||||
ptr_server = NULL;
|
||||
pos_message = arguments;
|
||||
pos_comma = strchr (arguments, ',');
|
||||
if (!pos_comma)
|
||||
return NULL;
|
||||
|
||||
pos_message = pos_comma + 1;
|
||||
server = weechat_strndup (arguments, pos_comma - arguments);
|
||||
if (server)
|
||||
{
|
||||
ptr_server = irc_server_search (server);
|
||||
free (server);
|
||||
}
|
||||
if (!ptr_server)
|
||||
return NULL;
|
||||
|
||||
return (irc_message_ignored (ptr_server, pos_message)) ?
|
||||
strdup ("1") : NULL;
|
||||
}
|
||||
|
||||
/*
|
||||
* Returns IRC info with hashtable "irc_message_parse".
|
||||
*/
|
||||
@ -1129,6 +1170,11 @@ irc_info_init ()
|
||||
N_("value of feature, if supported by server (from IRC message 005)"),
|
||||
N_("server,feature"),
|
||||
&irc_info_info_irc_server_isupport_value_cb, NULL, NULL);
|
||||
weechat_hook_info (
|
||||
"irc_is_message_ignored",
|
||||
N_("1 if the nick is ignored (message is not displayed)"),
|
||||
N_("server,message (message is the raw IRC message)"),
|
||||
&irc_info_info_irc_is_channel_cb, NULL, NULL);
|
||||
|
||||
/* info_hashtable hooks */
|
||||
weechat_hook_info_hashtable (
|
||||
|
@ -27,7 +27,9 @@
|
||||
#include "../weechat-plugin.h"
|
||||
#include "irc.h"
|
||||
#include "irc-channel.h"
|
||||
#include "irc-color.h"
|
||||
#include "irc-config.h"
|
||||
#include "irc-ignore.h"
|
||||
#include "irc-server.h"
|
||||
|
||||
|
||||
@ -538,6 +540,56 @@ irc_message_get_address_from_host (const char *host)
|
||||
return address;
|
||||
}
|
||||
|
||||
/*
|
||||
* Checks if a raw message is ignored (nick ignored on this server/channel).
|
||||
*
|
||||
* Returns:
|
||||
* 0: message not ignored (displayed)
|
||||
* 1: message ignored (not displayed)
|
||||
*/
|
||||
|
||||
int
|
||||
irc_message_ignored (struct t_irc_server *server, const char *message)
|
||||
{
|
||||
char *nick, *host, *host_no_color, *channel;
|
||||
struct t_irc_channel *ptr_channel;
|
||||
int ignored;
|
||||
|
||||
if (!server || !message)
|
||||
return 0;
|
||||
|
||||
/* parse raw message */
|
||||
irc_message_parse (server, message,
|
||||
NULL, NULL, &nick, NULL, &host,
|
||||
NULL, &channel, NULL,
|
||||
NULL, NULL, NULL,
|
||||
NULL, NULL);
|
||||
|
||||
/* remove colors from host */
|
||||
host_no_color = (host) ? irc_color_decode (host, 0) : NULL;
|
||||
|
||||
/* search channel */
|
||||
ptr_channel = (channel) ? irc_channel_search (server, channel) : NULL;
|
||||
|
||||
/* check if message is ignored or not */
|
||||
ignored = irc_ignore_check (
|
||||
server,
|
||||
(ptr_channel) ? ptr_channel->name : channel,
|
||||
nick,
|
||||
host_no_color);
|
||||
|
||||
if (nick)
|
||||
free (nick);
|
||||
if (host)
|
||||
free (host);
|
||||
if (host_no_color)
|
||||
free (host_no_color);
|
||||
if (channel)
|
||||
free (channel);
|
||||
|
||||
return ignored;
|
||||
}
|
||||
|
||||
/*
|
||||
* Replaces special IRC vars ($nick, $channel, $server) in a string.
|
||||
*
|
||||
|
@ -38,6 +38,8 @@ extern char *irc_message_convert_charset (const char *message,
|
||||
const char *modifier_data);
|
||||
extern const char *irc_message_get_nick_from_host (const char *host);
|
||||
extern const char *irc_message_get_address_from_host (const char *host);
|
||||
extern int irc_message_ignored (struct t_irc_server *server,
|
||||
const char *message);
|
||||
extern char *irc_message_replace_vars (struct t_irc_server *server,
|
||||
const char *channel_name,
|
||||
const char *string);
|
||||
|
@ -6679,7 +6679,8 @@ irc_protocol_recv_command (struct t_irc_server *server,
|
||||
message_ignored = irc_ignore_check (
|
||||
server,
|
||||
(ptr_channel) ? ptr_channel->name : msg_channel,
|
||||
nick, host_no_color);
|
||||
nick,
|
||||
host_no_color);
|
||||
|
||||
/* send signal with received command, even if command is ignored */
|
||||
irc_server_send_signal (server, "irc_raw_in", msg_command,
|
||||
|
@ -29,6 +29,7 @@ extern "C"
|
||||
#include "src/core/wee-hashtable.h"
|
||||
#include "src/core/wee-hook.h"
|
||||
#include "src/plugins/irc/irc-config.h"
|
||||
#include "src/plugins/irc/irc-ignore.h"
|
||||
#include "src/plugins/irc/irc-message.h"
|
||||
#include "src/plugins/irc/irc-server.h"
|
||||
}
|
||||
@ -647,6 +648,46 @@ TEST(IrcMessage, GetAddressFromHost)
|
||||
irc_message_get_address_from_host (NICK_256_WITH_SPACE));
|
||||
}
|
||||
|
||||
/*
|
||||
* Tests functions:
|
||||
* irc_message_ignored
|
||||
*/
|
||||
|
||||
TEST(IrcMessage, Ignored)
|
||||
{
|
||||
struct t_irc_server *server;
|
||||
struct t_irc_ignore *ignore1, *ignore2;
|
||||
|
||||
server = irc_server_alloc ("test_ignore");
|
||||
CHECK(server);
|
||||
|
||||
ignore1 = irc_ignore_new ("^alice@host1$", "test_ignore", "#test1");
|
||||
ignore2 = irc_ignore_new ("^bob@host2$", "test_ignore", "#test2");
|
||||
|
||||
LONGS_EQUAL(0, irc_message_ignored (NULL, NULL));
|
||||
LONGS_EQUAL(0, irc_message_ignored (NULL, ""));
|
||||
LONGS_EQUAL(0, irc_message_ignored (NULL,
|
||||
":alice@host1 PRIVMSG #test1 :hi!"));
|
||||
|
||||
LONGS_EQUAL(1, irc_message_ignored (server,
|
||||
":alice@host1 PRIVMSG #test1 :hi!"));
|
||||
LONGS_EQUAL(0, irc_message_ignored (server,
|
||||
":alice@host1 PRIVMSG #test :hi!"));
|
||||
LONGS_EQUAL(0, irc_message_ignored (server,
|
||||
":alice@host2 PRIVMSG #test1 :hi!"));
|
||||
|
||||
LONGS_EQUAL(1, irc_message_ignored (server,
|
||||
":bob@host2 PRIVMSG #test2 :hi!"));
|
||||
LONGS_EQUAL(0, irc_message_ignored (server,
|
||||
":bob@host2 PRIVMSG #test :hi!"));
|
||||
LONGS_EQUAL(0, irc_message_ignored (server,
|
||||
":bob2@host2 PRIVMSG #test2 :hi!"));
|
||||
|
||||
irc_ignore_free (ignore1);
|
||||
irc_ignore_free (ignore2);
|
||||
irc_server_free (server);
|
||||
}
|
||||
|
||||
/*
|
||||
* Tests functions:
|
||||
* irc_message_replace_vars
|
||||
|
Loading…
x
Reference in New Issue
Block a user