1
0
mirror of https://github.com/weechat/weechat.git synced 2026-06-26 12:56:37 +02:00

Add IRC commands /samode, /sanick, /sapart, /saquit

This commit is contained in:
Sebastien Helleu
2009-10-10 12:47:55 +02:00
parent 62946024d8
commit b138ffb7ae
12 changed files with 614 additions and 23 deletions
+1 -1
View File
@@ -19,7 +19,7 @@ Version 0.3.1 (under dev!)
* alias: allow use of wildcards for /alias list (patch #6925)
* alias: allow /unalias to remove multiple aliases (patch #6926)
* alias: fix bug with arguments (bug #27440)
* irc: add command /sajoin (task #9770)
* irc: add commands /sajoin, /samode, /sanick, /sapart, /saquit (task #9770)
* irc: add options for CTCP, to block/customize CTCP reply (task #9693)
* irc: add missing CTCP: clientinfo, finger, source, time, userinfo (task #7270)
* irc: improve error management on socket error (recv/send)
+36
View File
@@ -406,6 +406,42 @@
channel: channel name
........................................
• *`/samode`* `channel mode`::
........................................
change mode on channel, without having operator status
channel: channel name
mode: mode for channel
........................................
• *`/sanick`* `nickname new_nickname`::
........................................
forces a user to use another nick
nickname: nickname
new_nickname: new nickname
........................................
• *`/sapart`* `nickname channel[,channel]`::
........................................
forces a user to leave channel(s)
nickname: nickname
channel: channel name
........................................
• *`/saquit`* `nickname reason`::
........................................
forces a user to quit server with a reason
nickname: nickname
reason: reason
........................................
• *`/server`* `[list [servername]] | [listfull [servername]] | [add servername hostname[/port] [-auto | -noauto] [-ipv6] [-ssl]] | [copy servername newservername] | [rename servername newservername] | [keep servername] | [del servername] | [deloutq] | [jump] | [raw]`::
........................................
+36
View File
@@ -406,6 +406,42 @@
canal: canal
........................................
• *`/samode`* `mode canal`::
........................................
changer le mode du canal, sans avoir le statut opérateur
canal: nom du canal
mode: mode pour le canal
........................................
• *`/sanick`* `pseudo nouveau_pseudo`::
........................................
force un utilisateur à utiliser un autre pseudo
pseudo: pseudo
nouveau_pseudo: nouveau pseudo
........................................
• *`/sapart`* `pseudo canal[,canal]`::
........................................
force un utilisateur à quitter un ou plusieurs canaux
pseudo: pseudo
canal: canal
........................................
• *`/saquit`* `pseudo raison`::
........................................
force un utilisateur à quitter le serveur avec une raison
pseudo: pseudo
raison: raison
........................................
• *`/server`* `[list [nom_serveur]] | [listfull [nom_serveur]] | [add nom_serveur nom[/port] [-temp] [-auto | -noauto] [-ipv6] [-ssl]] | [copy nom_serveur nouveau_nom_serveur] | [rename nom_serveur nouveau_nom_serveur] | [keep nom_serveur] | [del nom_serveur] | [deloutq] | [jump] | [raw]`::
........................................
+54 -1
View File
@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat 0.3.1-dev\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
"POT-Creation-Date: 2009-10-10 11:59+0200\n"
"POT-Creation-Date: 2009-10-10 12:39+0200\n"
"PO-Revision-Date: 2009-09-14 10:56+0200\n"
"Last-Translator: Jiri Golembiovsky <golemj@gmail.com>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
@@ -3462,6 +3462,59 @@ msgstr ""
"přezdívka: přezdívka, kterou pozvat\n"
" kanál: kanál na kterou ji pozvat"
msgid "change mode on channel, without having operator status"
msgstr ""
#. TRANSLATORS: "channel" and "mode" are arguments
#. for command, translate them separately
#, fuzzy
msgid "channel mode"
msgstr "kanál"
#, fuzzy
msgid ""
"channel: channel name\n"
" mode: mode for channel"
msgstr ""
"kanál: jméno kanálu na který se připojit\n"
" klíč: klíč pro připojení ke kanálu"
#, fuzzy
msgid "forces a user to use another nick"
msgstr "násilně odebrat uživatele z kanálu"
#, fuzzy
msgid "nickname new_nickname"
msgstr "přezdívka: přezdívka"
#, fuzzy
msgid ""
" nickname: nickname\n"
"new_nickname: new nickname"
msgstr ""
"přezdívka: přezdívka, kterou pozvat\n"
" kanál: kanál na kterou ji pozvat"
#, fuzzy
msgid "forces a user to leave channel(s)"
msgstr "násilně odebrat uživatele z kanálu"
#, fuzzy
msgid "forces a user to quit server with a reason"
msgstr "násilně odebrat uživatele z kanálu"
#, fuzzy
msgid "nickname reason"
msgstr "přezdívka kanál"
#, fuzzy
msgid ""
"nickname: nickname\n"
" reason: reason"
msgstr ""
"přezdívka: přezdívka, kterou pozvat\n"
" kanál: kanál na kterou ji pozvat"
msgid "register a new service"
msgstr "zaregistrovat novou službu"
+54 -4
View File
@@ -9,7 +9,7 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat 0.3.1-dev\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
"POT-Creation-Date: 2009-10-10 11:59+0200\n"
"POT-Creation-Date: 2009-10-10 12:39+0200\n"
"PO-Revision-Date: 2009-10-03 12:07+0200\n"
"Last-Translator: Thomas Schuetz <i18n@internet-villa.de>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
@@ -3302,6 +3302,59 @@ msgstr ""
"Nickname: Chatname des Einzuladenden\n"
"Channel: Channel, in den er eingeladen werden soll"
msgid "change mode on channel, without having operator status"
msgstr ""
#. TRANSLATORS: "channel" and "mode" are arguments
#. for command, translate them separately
#, fuzzy
msgid "channel mode"
msgstr "ungültige Channelmaske"
#, fuzzy
msgid ""
"channel: channel name\n"
" mode: mode for channel"
msgstr ""
"Channel: zu betretender Channel\n"
" Passwort: Channelpasswort (+k-Mode)"
#, fuzzy
msgid "forces a user to use another nick"
msgstr "einen User aus einem Channel herauskicken"
#, fuzzy
msgid "nickname new_nickname"
msgstr "Nickname: Nickname"
#, fuzzy
msgid ""
" nickname: nickname\n"
"new_nickname: new nickname"
msgstr ""
"Nickname: Chatname des Einzuladenden\n"
"Channel: Channel, in den er eingeladen werden soll"
#, fuzzy
msgid "forces a user to leave channel(s)"
msgstr "einen User aus einem Channel herauskicken"
#, fuzzy
msgid "forces a user to quit server with a reason"
msgstr "einen User aus einem Channel herauskicken"
#, fuzzy
msgid "nickname reason"
msgstr "Nickname Text"
#, fuzzy
msgid ""
"nickname: nickname\n"
" reason: reason"
msgstr ""
"Nickname: Chatname des Einzuladenden\n"
"Channel: Channel, in den er eingeladen werden soll"
msgid "register a new service"
msgstr "einen neuen Service eintragen"
@@ -5902,9 +5955,6 @@ msgstr "%s fehlende Argumente für die \"--dir\"-Option\n"
#~ msgid "%s%s: unknown/missing channel name for \"%s\" command"
#~ msgstr "%s fehlende Argumente für den \"%s\"-Befehl\n"
#~ msgid "nickname text"
#~ msgstr "Nickname Text"
#~ msgid "nickname [text]"
#~ msgstr "Nickname [Text]"
+54 -4
View File
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat 0.3.1-dev\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
"POT-Creation-Date: 2009-10-10 11:59+0200\n"
"POT-Creation-Date: 2009-10-10 12:39+0200\n"
"PO-Revision-Date: 2009-09-06 21:25+0200\n"
"Last-Translator: Elián Hanisch <lambdae2@gmail.com>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
@@ -3271,6 +3271,59 @@ msgstr ""
"apodo: apodo a invitar\n"
"canal: canal para la invitación"
msgid "change mode on channel, without having operator status"
msgstr ""
#. TRANSLATORS: "channel" and "mode" are arguments
#. for command, translate them separately
#, fuzzy
msgid "channel mode"
msgstr "canal"
#, fuzzy
msgid ""
"channel: channel name\n"
" mode: mode for channel"
msgstr ""
"canal: canal a unirse\n"
"clave: clave para unirse al canal"
#, fuzzy
msgid "forces a user to use another nick"
msgstr "expulsar forzosamente a un usuario de un canal"
#, fuzzy
msgid "nickname new_nickname"
msgstr "apodo: apodo"
#, fuzzy
msgid ""
" nickname: nickname\n"
"new_nickname: new nickname"
msgstr ""
"apodo: apodo a invitar\n"
"canal: canal para la invitación"
#, fuzzy
msgid "forces a user to leave channel(s)"
msgstr "expulsar forzosamente a un usuario de un canal"
#, fuzzy
msgid "forces a user to quit server with a reason"
msgstr "expulsar forzosamente a un usuario de un canal"
#, fuzzy
msgid "nickname reason"
msgstr "usuario texto"
#, fuzzy
msgid ""
"nickname: nickname\n"
" reason: reason"
msgstr ""
"apodo: apodo a invitar\n"
"canal: canal para la invitación"
msgid "register a new service"
msgstr "registrar un nuevo servicio"
@@ -5914,9 +5967,6 @@ msgstr "%s falta un argumento para la opción --dir\n"
#~ msgid "%s%s: unknown/missing channel name for \"%s\" command"
#~ msgstr "%s faltan argumentos para el comando \"%s\"\n"
#~ msgid "nickname text"
#~ msgstr "usuario texto"
#~ msgid "nickname [text]"
#~ msgstr "usuario [texto]"
+46 -2
View File
@@ -6,8 +6,8 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat 0.3.1-dev\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
"POT-Creation-Date: 2009-10-10 11:59+0200\n"
"PO-Revision-Date: 2009-10-10 12:00+0200\n"
"POT-Creation-Date: 2009-10-10 12:39+0200\n"
"PO-Revision-Date: 2009-10-10 12:40+0200\n"
"Last-Translator: FlashCode <flashcode@flashtux.org>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
"MIME-Version: 1.0\n"
@@ -3535,6 +3535,50 @@ msgstr ""
"pseudo: pseudo\n"
" canal: canal"
msgid "change mode on channel, without having operator status"
msgstr "changer le mode du canal, sans avoir le statut opérateur"
#. TRANSLATORS: "channel" and "mode" are arguments
#. for command, translate them separately
msgid "channel mode"
msgstr "mode canal"
msgid ""
"channel: channel name\n"
" mode: mode for channel"
msgstr ""
"canal: nom du canal\n"
" mode: mode pour le canal"
msgid "forces a user to use another nick"
msgstr "force un utilisateur à utiliser un autre pseudo"
msgid "nickname new_nickname"
msgstr "pseudo nouveau_pseudo"
msgid ""
" nickname: nickname\n"
"new_nickname: new nickname"
msgstr ""
" pseudo: pseudo\n"
"nouveau_pseudo: nouveau pseudo"
msgid "forces a user to leave channel(s)"
msgstr "force un utilisateur à quitter un ou plusieurs canaux"
msgid "forces a user to quit server with a reason"
msgstr "force un utilisateur à quitter le serveur avec une raison"
msgid "nickname reason"
msgstr "pseudo raison"
msgid ""
"nickname: nickname\n"
" reason: reason"
msgstr ""
"pseudo: pseudo\n"
"raison: raison"
msgid "register a new service"
msgstr "enregister un nouveau service"
+54 -4
View File
@@ -12,7 +12,7 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat 0.3.1-dev\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
"POT-Creation-Date: 2009-10-10 11:59+0200\n"
"POT-Creation-Date: 2009-10-10 12:39+0200\n"
"PO-Revision-Date: 2009-09-20 13:51+0200\n"
"Last-Translator: Andras Voroskoi <voroskoi@frugalware.org>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
@@ -3385,6 +3385,59 @@ msgstr ""
" név: meghívandó név\n"
"szoba: meghívandó szoba"
msgid "change mode on channel, without having operator status"
msgstr ""
#. TRANSLATORS: "channel" and "mode" are arguments
#. for command, translate them separately
#, fuzzy
msgid "channel mode"
msgstr "%d szoba"
#, fuzzy
msgid ""
"channel: channel name\n"
" mode: mode for channel"
msgstr ""
"szoba: a szoba neve, ahová csatlakozni szeretnénk\n"
"kulcs: a csatlakozáshoz szükséges kulcs"
#, fuzzy
msgid "forces a user to use another nick"
msgstr "felhasználó erőszakos eltávolítása a szobából"
#, fuzzy
msgid "nickname new_nickname"
msgstr "név: név"
#, fuzzy
msgid ""
" nickname: nickname\n"
"new_nickname: new nickname"
msgstr ""
" név: meghívandó név\n"
"szoba: meghívandó szoba"
#, fuzzy
msgid "forces a user to leave channel(s)"
msgstr "felhasználó erőszakos eltávolítása a szobából"
#, fuzzy
msgid "forces a user to quit server with a reason"
msgstr "felhasználó erőszakos eltávolítása a szobából"
#, fuzzy
msgid "nickname reason"
msgstr "név szöveg"
#, fuzzy
msgid ""
"nickname: nickname\n"
" reason: reason"
msgstr ""
" név: meghívandó név\n"
"szoba: meghívandó szoba"
msgid "register a new service"
msgstr "új szolgáltatás regisztrálása"
@@ -6048,9 +6101,6 @@ msgstr "%s hiányzó argumentum a(z) \"%s\" opciónak\n"
#~ msgid "%s%s: unknown/missing channel name for \"%s\" command"
#~ msgstr "%s hiányzó argumentum a \"%s\" parancsnak\n"
#~ msgid "nickname text"
#~ msgstr "név szöveg"
#~ msgid "nickname [text]"
#~ msgstr "becenév [szöveg]"
+54 -1
View File
@@ -9,7 +9,7 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat 0.3.1-dev\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
"POT-Creation-Date: 2009-10-10 11:59+0200\n"
"POT-Creation-Date: 2009-10-10 12:39+0200\n"
"PO-Revision-Date: 2009-09-06 21:25+0200\n"
"Last-Translator: Krzysztof Korościk <soltys@szluug.org>\n"
"Language-Team: Polish\n"
@@ -3500,6 +3500,59 @@ msgstr ""
"nick: nick do zaproszenia\n"
" kanał: kanał na który zapraszamy"
msgid "change mode on channel, without having operator status"
msgstr ""
#. TRANSLATORS: "channel" and "mode" are arguments
#. for command, translate them separately
#, fuzzy
msgid "channel mode"
msgstr "kanał"
#, fuzzy
msgid ""
"channel: channel name\n"
" mode: mode for channel"
msgstr ""
"kanał: nazwa kanału, na który chcemy wejść\n"
" klucz: hasło wymagane do wejścia na kanał"
#, fuzzy
msgid "forces a user to use another nick"
msgstr "sułowo usuwa użytkownika z kanału"
#, fuzzy
msgid "nickname new_nickname"
msgstr "nick: nazwa użytkownika"
#, fuzzy
msgid ""
" nickname: nickname\n"
"new_nickname: new nickname"
msgstr ""
"nick: nick do zaproszenia\n"
" kanał: kanał na który zapraszamy"
#, fuzzy
msgid "forces a user to leave channel(s)"
msgstr "sułowo usuwa użytkownika z kanału"
#, fuzzy
msgid "forces a user to quit server with a reason"
msgstr "sułowo usuwa użytkownika z kanału"
#, fuzzy
msgid "nickname reason"
msgstr "nick kanał"
#, fuzzy
msgid ""
"nickname: nickname\n"
" reason: reason"
msgstr ""
"nick: nick do zaproszenia\n"
" kanał: kanał na który zapraszamy"
msgid "register a new service"
msgstr "rejestruje nową usługę"
+54 -4
View File
@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat 0.3.1-dev\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
"POT-Creation-Date: 2009-10-10 11:59+0200\n"
"POT-Creation-Date: 2009-10-10 12:39+0200\n"
"PO-Revision-Date: 2009-09-20 13:50+0200\n"
"Last-Translator: Pavel Shevchuk <stlwrt@gmail.com>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
@@ -3393,6 +3393,59 @@ msgstr ""
" ник: приглашаемый ник\n"
"канал: целевой канал"
msgid "change mode on channel, without having operator status"
msgstr ""
#. TRANSLATORS: "channel" and "mode" are arguments
#. for command, translate them separately
#, fuzzy
msgid "channel mode"
msgstr "%d канал"
#, fuzzy
msgid ""
"channel: channel name\n"
" mode: mode for channel"
msgstr ""
"канал: название канала\n"
" ключ: ключ для входа на канал"
#, fuzzy
msgid "forces a user to use another nick"
msgstr "принудительно удалить пользователя с канала"
#, fuzzy
msgid "nickname new_nickname"
msgstr "ник: ник"
#, fuzzy
msgid ""
" nickname: nickname\n"
"new_nickname: new nickname"
msgstr ""
" ник: приглашаемый ник\n"
"канал: целевой канал"
#, fuzzy
msgid "forces a user to leave channel(s)"
msgstr "принудительно удалить пользователя с канала"
#, fuzzy
msgid "forces a user to quit server with a reason"
msgstr "принудительно удалить пользователя с канала"
#, fuzzy
msgid "nickname reason"
msgstr "ник текст"
#, fuzzy
msgid ""
"nickname: nickname\n"
" reason: reason"
msgstr ""
" ник: приглашаемый ник\n"
"канал: целевой канал"
msgid "register a new service"
msgstr "зарегистрировать новый сервис"
@@ -6035,9 +6088,6 @@ msgstr "%s нет аргумента для параметра \"%s\"\n"
#~ msgid "%s%s: unknown/missing channel name for \"%s\" command"
#~ msgstr "%s нет аргументов для \"%s\" команды\n"
#~ msgid "nickname text"
#~ msgstr "ник текст"
#~ msgid "nickname [text]"
#~ msgstr "ник [текст]"
+39 -1
View File
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
"POT-Creation-Date: 2009-10-10 11:59+0200\n"
"POT-Creation-Date: 2009-10-10 12:39+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -2910,6 +2910,44 @@ msgid ""
" channel: channel name"
msgstr ""
msgid "change mode on channel, without having operator status"
msgstr ""
#. TRANSLATORS: "channel" and "mode" are arguments
#. for command, translate them separately
msgid "channel mode"
msgstr ""
msgid ""
"channel: channel name\n"
" mode: mode for channel"
msgstr ""
msgid "forces a user to use another nick"
msgstr ""
msgid "nickname new_nickname"
msgstr ""
msgid ""
" nickname: nickname\n"
"new_nickname: new nickname"
msgstr ""
msgid "forces a user to leave channel(s)"
msgstr ""
msgid "forces a user to quit server with a reason"
msgstr ""
msgid "nickname reason"
msgstr ""
msgid ""
"nickname: nickname\n"
" reason: reason"
msgstr ""
msgid "register a new service"
msgstr ""
+132 -1
View File
@@ -2761,6 +2761,110 @@ irc_command_sajoin (void *data, struct t_gui_buffer *buffer, int argc,
return WEECHAT_RC_OK;
}
/*
* irc_command_samode: change mode on channel, without having operator status
*/
int
irc_command_samode (void *data, struct t_gui_buffer *buffer, int argc,
char **argv, char **argv_eol)
{
IRC_GET_SERVER_CHANNEL(buffer);
IRC_COMMAND_CHECK_SERVER("samode", 1);
/* make C compiler happy */
(void) data;
if (argc > 2)
{
irc_server_sendf (ptr_server, 0, "SAMODE %s %s", argv[1], argv_eol[2]);
}
else
{
IRC_COMMAND_TOO_FEW_ARGUMENTS(ptr_server->buffer, "samode");
}
return WEECHAT_RC_OK;
}
/*
* irc_command_sanick: forces a user to use another nick
*/
int
irc_command_sanick (void *data, struct t_gui_buffer *buffer, int argc,
char **argv, char **argv_eol)
{
IRC_GET_SERVER_CHANNEL(buffer);
IRC_COMMAND_CHECK_SERVER("sanick", 1);
/* make C compiler happy */
(void) data;
if (argc > 2)
{
irc_server_sendf (ptr_server, 0, "SANICK %s %s", argv[1], argv_eol[2]);
}
else
{
IRC_COMMAND_TOO_FEW_ARGUMENTS(ptr_server->buffer, "sanick");
}
return WEECHAT_RC_OK;
}
/*
* irc_command_sapart: forces a user to leave channel(s)
*/
int
irc_command_sapart (void *data, struct t_gui_buffer *buffer, int argc,
char **argv, char **argv_eol)
{
IRC_GET_SERVER_CHANNEL(buffer);
IRC_COMMAND_CHECK_SERVER("sapart", 1);
/* make C compiler happy */
(void) data;
if (argc > 2)
{
irc_server_sendf (ptr_server, 0, "SAPART %s %s", argv[1], argv_eol[2]);
}
else
{
IRC_COMMAND_TOO_FEW_ARGUMENTS(ptr_server->buffer, "sapart");
}
return WEECHAT_RC_OK;
}
/*
* irc_command_saquit: forces a user to quit server with a reason
*/
int
irc_command_saquit (void *data, struct t_gui_buffer *buffer, int argc,
char **argv, char **argv_eol)
{
IRC_GET_SERVER_CHANNEL(buffer);
IRC_COMMAND_CHECK_SERVER("saquit", 1);
/* make C compiler happy */
(void) data;
if (argc > 2)
{
irc_server_sendf (ptr_server, 0, "SAQUIT %s :%s", argv[1], argv_eol[2]);
}
else
{
IRC_COMMAND_TOO_FEW_ARGUMENTS(ptr_server->buffer, "saquit");
}
return WEECHAT_RC_OK;
}
/*
* irc_command_server: manage IRC servers
*/
@@ -4038,7 +4142,34 @@ irc_command_init ()
N_("nickname channel[,channel]"),
N_("nickname: nickname\n"
" channel: channel name"),
"%(nicks) %(irc_channels)", &irc_command_sajoin, NULL);
"%(nicks) %(irc_server_channels)", &irc_command_sajoin, NULL);
weechat_hook_command ("samode",
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_samode, NULL);
weechat_hook_command ("sanick",
N_("forces a user to use another nick"),
N_("nickname new_nickname"),
N_(" nickname: nickname\n"
"new_nickname: new nickname"),
"%(nicks) %(nicks)", &irc_command_sanick, NULL);
weechat_hook_command ("sapart",
N_("forces a user to leave channel(s)"),
N_("nickname channel[,channel]"),
N_("nickname: nickname\n"
" channel: channel name"),
"%(nicks) %(irc_server_channels)", &irc_command_sapart, NULL);
weechat_hook_command ("saquit",
N_("forces a user to quit server with a reason"),
N_("nickname reason"),
N_("nickname: nickname\n"
" reason: reason"),
"%(nicks)", &irc_command_saquit, NULL);
weechat_hook_command ("service",
N_("register a new service"),
N_("nickname reserved distribution type reserved "