irc: add support of TAGMSG messages (issue #1654)
This commit is contained in:
parent
23c46c3f2b
commit
8ea1ee06e5
@ -21,6 +21,7 @@ https://weechat.org/files/releasenotes/ReleaseNotes-devel.html[release notes]
|
||||
New features::
|
||||
|
||||
* core: add option "certs" in command /debug
|
||||
* irc: add support of TAGMSG messages (issue #1654)
|
||||
* irc: enable all capabilities by default (if supported by server and WeeChat), change default value of option irc.server_default.capabilities to "*" (issue #320)
|
||||
* irc: add options irc.look.display_account_message and irc.look.display_extended_join (issue #320)
|
||||
* irc: add command /setname, add support of message and capability "setname" (issue #1653)
|
||||
|
@ -2903,6 +2903,22 @@ IRC_PROTOCOL_CALLBACK(setname)
|
||||
return WEECHAT_RC_OK;
|
||||
}
|
||||
|
||||
/*
|
||||
* Callback for the IRC message "SETNAME": set real name
|
||||
* (with capability "setname").
|
||||
*
|
||||
* Message looks like:
|
||||
* @msgid=6gqz7dxd22v7r3x9pvukkp8nni;+tag1 :nick!user@host TAGMSG #channel
|
||||
*/
|
||||
|
||||
IRC_PROTOCOL_CALLBACK(tagmsg)
|
||||
{
|
||||
IRC_PROTOCOL_MIN_ARGS(3);
|
||||
|
||||
/* no action by default */
|
||||
return WEECHAT_RC_OK;
|
||||
}
|
||||
|
||||
/*
|
||||
* Callback for an IRC message with mode and reason (numeric).
|
||||
*/
|
||||
@ -6669,6 +6685,7 @@ irc_protocol_recv_command (struct t_irc_server *server,
|
||||
IRCB(privmsg, 1, 1, privmsg), /* message received */
|
||||
IRCB(quit, 1, 1, quit), /* close all connections and quit */
|
||||
IRCB(setname, 0, 1, setname), /* set realname */
|
||||
IRCB(tagmsg, 0, 1, tagmsg), /* tag message */
|
||||
IRCB(topic, 0, 1, topic), /* get/set channel topic */
|
||||
IRCB(wallops, 1, 1, wallops), /* wallops */
|
||||
IRCB(warn, 1, 0, warn), /* warning received from server */
|
||||
|
@ -1303,6 +1303,28 @@ TEST(IrcProtocolWithServer, setname_with_setname_cap)
|
||||
STRCMP_EQUAL("new realname2", ptr_nick->realname);
|
||||
}
|
||||
|
||||
/*
|
||||
* Tests functions:
|
||||
* irc_protocol_cb_tagmsg
|
||||
*/
|
||||
|
||||
TEST(IrcProtocolWithServer, tagmsg)
|
||||
{
|
||||
server_recv (":server 001 alice");
|
||||
|
||||
server_recv (":alice!user@host JOIN #test");
|
||||
server_recv (":bob!user@host JOIN #test");
|
||||
|
||||
/* not enough arguments */
|
||||
server_recv (":bob!user@host TAGMSG");
|
||||
|
||||
/* no tags */
|
||||
server_recv (":bob!user@host TAGMSG #test");
|
||||
|
||||
/* with tags */
|
||||
server_recv ("@tag1=123;tag2=456 :bob!user@host TAGMSG #test");
|
||||
}
|
||||
|
||||
/*
|
||||
* Tests functions:
|
||||
* irc_protocol_cb_topic
|
||||
|
Loading…
x
Reference in New Issue
Block a user