Add IRC commands /omode and /forcejoin (patch #7126)
This commit is contained in:
parent
7925b2d242
commit
5755bd50ac
@ -61,6 +61,7 @@ Version 0.3.2 (under dev!)
|
||||
* irc: add option irc.look.item_channel_modes_hide_key to hide channel key
|
||||
in channel modes (bug #23961)
|
||||
* irc: add option irc.look.item_nick_prefix
|
||||
* irc: add commands /omode and /forcejoin (patch #7126)
|
||||
* irc: add command /map
|
||||
* irc: add missing commands 276, 343
|
||||
* irc: fix compilation with old GnuTLS versions (bug #28723)
|
||||
|
@ -1366,6 +1366,34 @@ irc_command_disconnect (void *data, struct t_gui_buffer *buffer, int argc,
|
||||
return WEECHAT_RC_OK;
|
||||
}
|
||||
|
||||
/*
|
||||
* irc_command_forcejoin: forces a user to join channel(s)
|
||||
* (this is the equivalent to /sajoin on some IRCd's)
|
||||
*/
|
||||
|
||||
int
|
||||
irc_command_forcejoin (void *data, struct t_gui_buffer *buffer, int argc,
|
||||
char **argv, char **argv_eol)
|
||||
{
|
||||
IRC_BUFFER_GET_SERVER_CHANNEL(buffer);
|
||||
IRC_COMMAND_CHECK_SERVER("forcejoin", 1);
|
||||
|
||||
/* make C compiler happy */
|
||||
(void) data;
|
||||
|
||||
if (argc > 2)
|
||||
{
|
||||
irc_server_sendf (ptr_server, IRC_SERVER_OUTQUEUE_PRIO_HIGH,
|
||||
"FORCEJOIN %s %s", argv[1], argv_eol[2]);
|
||||
}
|
||||
else
|
||||
{
|
||||
IRC_COMMAND_TOO_FEW_ARGUMENTS(ptr_server->buffer, "forcejoin");
|
||||
}
|
||||
|
||||
return WEECHAT_RC_OK;
|
||||
}
|
||||
|
||||
/*
|
||||
* irc_command_halfop: give half operator privileges to nickname(s)
|
||||
*/
|
||||
@ -2552,6 +2580,34 @@ irc_command_notice (void *data, struct t_gui_buffer *buffer, int argc,
|
||||
return WEECHAT_RC_OK;
|
||||
}
|
||||
|
||||
/*
|
||||
* irc_command_omode: change mode on channel, without having operator status
|
||||
* (this is the equivalent to /sajoin on some IRCd's)
|
||||
*/
|
||||
|
||||
int
|
||||
irc_command_omode (void *data, struct t_gui_buffer *buffer, int argc,
|
||||
char **argv, char **argv_eol)
|
||||
{
|
||||
IRC_BUFFER_GET_SERVER_CHANNEL(buffer);
|
||||
IRC_COMMAND_CHECK_SERVER("omode", 1);
|
||||
|
||||
/* make C compiler happy */
|
||||
(void) data;
|
||||
|
||||
if (argc > 2)
|
||||
{
|
||||
irc_server_sendf (ptr_server, IRC_SERVER_OUTQUEUE_PRIO_HIGH,
|
||||
"OMODE %s %s", argv[1], argv_eol[2]);
|
||||
}
|
||||
else
|
||||
{
|
||||
IRC_COMMAND_TOO_FEW_ARGUMENTS(ptr_server->buffer, "omode");
|
||||
}
|
||||
|
||||
return WEECHAT_RC_OK;
|
||||
}
|
||||
|
||||
/*
|
||||
* irc_command_op: give operator privileges to nickname(s)
|
||||
*/
|
||||
@ -4276,6 +4332,12 @@ irc_command_init ()
|
||||
"-all"
|
||||
" || %(irc_servers)|%*",
|
||||
&irc_command_disconnect, NULL);
|
||||
weechat_hook_command ("forcejoin",
|
||||
N_("forces a user to join channel(s)"),
|
||||
N_("nickname channel[,channel]"),
|
||||
N_("nickname: nickname\n"
|
||||
" channel: channel name"),
|
||||
"%(nicks) %(irc_server_channels)", &irc_command_forcejoin, NULL);
|
||||
weechat_hook_command ("halfop",
|
||||
N_("give half channel operator status to "
|
||||
"nickname(s)"),
|
||||
@ -4456,6 +4518,15 @@ irc_command_init ()
|
||||
"nickname: user to send notice to\n"
|
||||
" text: text to send"),
|
||||
"%(nicks) %-", &irc_command_notice, NULL);
|
||||
weechat_hook_command ("omode",
|
||||
N_("change mode on channel, without having operator "
|
||||
"status"),
|
||||
/* TRANSLATORS: "channel" and "mode" are arguments
|
||||
for command, translate them separately */
|
||||
N_("channel mode"),
|
||||
N_("channel: channel name\n"
|
||||
" mode: mode for channel"),
|
||||
"%(irc_server_channels)", &irc_command_omode, NULL);
|
||||
weechat_hook_command ("op",
|
||||
N_("give channel operator status to nickname(s)"),
|
||||
N_("nickname [nickname]"),
|
||||
|
Loading…
x
Reference in New Issue
Block a user