1
0
mirror of https://github.com/weechat/weechat.git synced 2026-06-29 14:26:39 +02:00

Added "-all" option for /nick command, added "341" IRC command (for invitation)

This commit is contained in:
Sebastien Helleu
2005-04-19 21:02:59 +00:00
parent ca117dbb24
commit 5ebab583f6
16 changed files with 1528 additions and 1292 deletions
+3 -2
View File
@@ -1,14 +1,15 @@
WeeChat - Wee Enhanced Environment for Chat
===========================================
ChangeLog - 2005-04-09
ChangeLog - 2005-04-19
Version 0.1.2 (under dev!):
* added "-all" option for /nick command
* buffers timestamp can now be changed (new option in config file)
* fixed crash when purging old DCC
* fixed crash with 64-bits arch (like AMD64) when converting UTF-8
* added missing IRC commands (307)
* added missing IRC commands (307, 341)
Version 0.1.1 (2005-03-20):
* added nicks count for channel buffers
+222 -212
View File
File diff suppressed because it is too large Load Diff
+224 -212
View File
File diff suppressed because it is too large Load Diff
+221 -211
View File
File diff suppressed because it is too large Load Diff
+5 -2
View File
@@ -152,8 +152,10 @@ t_irc_command irc_commands[] =
N_("[channel[,channel]]"), N_("channel: channel name"),
0, 1, 1, NULL, irc_cmd_send_names, NULL },
{ "nick", N_("change current nickname"),
N_("nickname"), N_("nickname: new nickname for current IRC server"),
1, 1, 1, irc_cmd_send_nick, NULL, irc_cmd_recv_nick },
N_("[-all] nickname"),
N_("-all: set new nickname for all connected servers\n"
"nickname: new nickname"),
1, 2, 1, irc_cmd_send_nick, NULL, irc_cmd_recv_nick },
{ "notice", N_("send notice message to user"),
N_("nickname text"), N_("nickname: user to send notice to\ntext: text to send"),
2, MAX_ARGS, 1, NULL, irc_cmd_send_notice, irc_cmd_recv_notice },
@@ -321,6 +323,7 @@ t_irc_command irc_commands[] =
{ "333", N_("infos about topic (nick & date changed)"),
"", "",
0, 0, 1, NULL, NULL, irc_cmd_recv_333 },
{ "341", N_("inviting"), "", "", 0, 0, 1, NULL, NULL, irc_cmd_recv_341 },
{ "351", N_("server version"), "", "", 0, 0, 1, NULL, NULL, irc_cmd_recv_351 },
{ "352", N_("who"), "", "", 0, 0, 1, NULL, NULL, irc_cmd_recv_352 },
{ "353", N_("list of nicks on channel"),
+66 -4
View File
@@ -2891,6 +2891,68 @@ irc_cmd_recv_333 (t_irc_server *server, char *host, char *arguments)
return 0;
}
/*
* irc_cmd_recv_341: '341' command received (inviting)
*/
int
irc_cmd_recv_341 (t_irc_server *server, char *host, char *arguments)
{
char *pos, *pos_nick, *pos_channel;
pos = strchr (host, '!');
if (pos)
pos[0] = '\0';
pos_nick = strchr (arguments, ' ');
if (pos_nick)
{
pos_nick[0] = '\0';
pos_nick++;
while (pos_nick[0] == ' ')
pos_nick++;
pos_channel = strchr (pos_nick, ' ');
if (pos_channel)
{
pos_channel[0] = '\0';
pos_channel++;
while (pos_channel[0] == ' ')
pos_channel++;
if (pos_channel[0] == ':')
pos_channel++;
irc_display_prefix (server->buffer, PREFIX_SERVER);
gui_printf_color (server->buffer, COLOR_WIN_CHAT_NICK,
"%s ", arguments);
gui_printf (server->buffer, _("has invited"));
gui_printf_color (server->buffer, COLOR_WIN_CHAT_NICK,
" %s ", pos_nick);
gui_printf (server->buffer, _("on"));
gui_printf_color (server->buffer, COLOR_WIN_CHAT_CHANNEL,
" %s\n", pos_channel);
gui_draw_buffer_status (gui_current_window->buffer, 1);
}
else
{
irc_display_prefix (server->buffer, PREFIX_ERROR);
gui_printf_nolog (server->buffer,
_("%s cannot identify channel for \"%s\" command\n"),
WEECHAT_ERROR, "341");
return -1;
}
}
else
{
irc_display_prefix (server->buffer, PREFIX_ERROR);
gui_printf_nolog (server->buffer,
_("%s cannot identify nickname for \"%s\" command\n"),
WEECHAT_ERROR, "341");
return -1;
}
return 0;
}
/*
* irc_cmd_recv_351: '351' command received (server version)
*/
@@ -3014,16 +3076,16 @@ irc_cmd_recv_352 (t_irc_server *server, char *host, char *arguments)
PREFIX_SERVER);
gui_printf_color (server->buffer,
COLOR_WIN_CHAT_NICK,
"%s", pos_nick);
"%s ", pos_nick);
gui_printf_color (server->buffer,
COLOR_WIN_CHAT,
_(" on "));
_("on"));
gui_printf_color (server->buffer,
COLOR_WIN_CHAT_CHANNEL,
"%s ", pos_channel);
" %s", pos_channel);
gui_printf_color (server->buffer,
COLOR_WIN_CHAT,
"%s %s ",
" %s %s ",
pos_attr, pos_hopcount);
gui_printf_color (server->buffer,
COLOR_WIN_CHAT_HOST,
+22 -3
View File
@@ -1033,9 +1033,28 @@ irc_cmd_send_names (t_irc_server *server, char *arguments)
int
irc_cmd_send_nick (t_irc_server *server, int argc, char **argv)
{
if (argc != 1)
return -1;
server_sendf (server, "NICK %s\r\n", argv[0]);
t_irc_server *ptr_server;
if (argc == 2)
{
if (strncmp (argv[0], "-all", 4) != 0)
return -1;
for (ptr_server = irc_servers; ptr_server;
ptr_server = ptr_server->next_server)
{
if (ptr_server->is_connected)
server_sendf (ptr_server, "NICK %s\r\n", argv[1]);
}
}
else
{
if (argc == 1)
server_sendf (server, "NICK %s\r\n", argv[0]);
else
return -1;
}
return 0;
}
+1
View File
@@ -415,6 +415,7 @@ extern int irc_cmd_recv_329 (t_irc_server *, char *, char *);
extern int irc_cmd_recv_331 (t_irc_server *, char *, char *);
extern int irc_cmd_recv_332 (t_irc_server *, char *, char *);
extern int irc_cmd_recv_333 (t_irc_server *, char *, char *);
extern int irc_cmd_recv_341 (t_irc_server *, char *, char *);
extern int irc_cmd_recv_351 (t_irc_server *, char *, char *);
extern int irc_cmd_recv_352 (t_irc_server *, char *, char *);
extern int irc_cmd_recv_353 (t_irc_server *, char *, char *);
+3 -2
View File
@@ -1,14 +1,15 @@
WeeChat - Wee Enhanced Environment for Chat
===========================================
ChangeLog - 2005-04-09
ChangeLog - 2005-04-19
Version 0.1.2 (under dev!):
* added "-all" option for /nick command
* buffers timestamp can now be changed (new option in config file)
* fixed crash when purging old DCC
* fixed crash with 64-bits arch (like AMD64) when converting UTF-8
* added missing IRC commands (307)
* added missing IRC commands (307, 341)
Version 0.1.1 (2005-03-20):
* added nicks count for channel buffers
+222 -212
View File
File diff suppressed because it is too large Load Diff
+224 -212
View File
File diff suppressed because it is too large Load Diff
+221 -211
View File
File diff suppressed because it is too large Load Diff
+5 -2
View File
@@ -152,8 +152,10 @@ t_irc_command irc_commands[] =
N_("[channel[,channel]]"), N_("channel: channel name"),
0, 1, 1, NULL, irc_cmd_send_names, NULL },
{ "nick", N_("change current nickname"),
N_("nickname"), N_("nickname: new nickname for current IRC server"),
1, 1, 1, irc_cmd_send_nick, NULL, irc_cmd_recv_nick },
N_("[-all] nickname"),
N_("-all: set new nickname for all connected servers\n"
"nickname: new nickname"),
1, 2, 1, irc_cmd_send_nick, NULL, irc_cmd_recv_nick },
{ "notice", N_("send notice message to user"),
N_("nickname text"), N_("nickname: user to send notice to\ntext: text to send"),
2, MAX_ARGS, 1, NULL, irc_cmd_send_notice, irc_cmd_recv_notice },
@@ -321,6 +323,7 @@ t_irc_command irc_commands[] =
{ "333", N_("infos about topic (nick & date changed)"),
"", "",
0, 0, 1, NULL, NULL, irc_cmd_recv_333 },
{ "341", N_("inviting"), "", "", 0, 0, 1, NULL, NULL, irc_cmd_recv_341 },
{ "351", N_("server version"), "", "", 0, 0, 1, NULL, NULL, irc_cmd_recv_351 },
{ "352", N_("who"), "", "", 0, 0, 1, NULL, NULL, irc_cmd_recv_352 },
{ "353", N_("list of nicks on channel"),
+66 -4
View File
@@ -2891,6 +2891,68 @@ irc_cmd_recv_333 (t_irc_server *server, char *host, char *arguments)
return 0;
}
/*
* irc_cmd_recv_341: '341' command received (inviting)
*/
int
irc_cmd_recv_341 (t_irc_server *server, char *host, char *arguments)
{
char *pos, *pos_nick, *pos_channel;
pos = strchr (host, '!');
if (pos)
pos[0] = '\0';
pos_nick = strchr (arguments, ' ');
if (pos_nick)
{
pos_nick[0] = '\0';
pos_nick++;
while (pos_nick[0] == ' ')
pos_nick++;
pos_channel = strchr (pos_nick, ' ');
if (pos_channel)
{
pos_channel[0] = '\0';
pos_channel++;
while (pos_channel[0] == ' ')
pos_channel++;
if (pos_channel[0] == ':')
pos_channel++;
irc_display_prefix (server->buffer, PREFIX_SERVER);
gui_printf_color (server->buffer, COLOR_WIN_CHAT_NICK,
"%s ", arguments);
gui_printf (server->buffer, _("has invited"));
gui_printf_color (server->buffer, COLOR_WIN_CHAT_NICK,
" %s ", pos_nick);
gui_printf (server->buffer, _("on"));
gui_printf_color (server->buffer, COLOR_WIN_CHAT_CHANNEL,
" %s\n", pos_channel);
gui_draw_buffer_status (gui_current_window->buffer, 1);
}
else
{
irc_display_prefix (server->buffer, PREFIX_ERROR);
gui_printf_nolog (server->buffer,
_("%s cannot identify channel for \"%s\" command\n"),
WEECHAT_ERROR, "341");
return -1;
}
}
else
{
irc_display_prefix (server->buffer, PREFIX_ERROR);
gui_printf_nolog (server->buffer,
_("%s cannot identify nickname for \"%s\" command\n"),
WEECHAT_ERROR, "341");
return -1;
}
return 0;
}
/*
* irc_cmd_recv_351: '351' command received (server version)
*/
@@ -3014,16 +3076,16 @@ irc_cmd_recv_352 (t_irc_server *server, char *host, char *arguments)
PREFIX_SERVER);
gui_printf_color (server->buffer,
COLOR_WIN_CHAT_NICK,
"%s", pos_nick);
"%s ", pos_nick);
gui_printf_color (server->buffer,
COLOR_WIN_CHAT,
_(" on "));
_("on"));
gui_printf_color (server->buffer,
COLOR_WIN_CHAT_CHANNEL,
"%s ", pos_channel);
" %s", pos_channel);
gui_printf_color (server->buffer,
COLOR_WIN_CHAT,
"%s %s ",
" %s %s ",
pos_attr, pos_hopcount);
gui_printf_color (server->buffer,
COLOR_WIN_CHAT_HOST,
+22 -3
View File
@@ -1033,9 +1033,28 @@ irc_cmd_send_names (t_irc_server *server, char *arguments)
int
irc_cmd_send_nick (t_irc_server *server, int argc, char **argv)
{
if (argc != 1)
return -1;
server_sendf (server, "NICK %s\r\n", argv[0]);
t_irc_server *ptr_server;
if (argc == 2)
{
if (strncmp (argv[0], "-all", 4) != 0)
return -1;
for (ptr_server = irc_servers; ptr_server;
ptr_server = ptr_server->next_server)
{
if (ptr_server->is_connected)
server_sendf (ptr_server, "NICK %s\r\n", argv[1]);
}
}
else
{
if (argc == 1)
server_sendf (server, "NICK %s\r\n", argv[0]);
else
return -1;
}
return 0;
}
+1
View File
@@ -415,6 +415,7 @@ extern int irc_cmd_recv_329 (t_irc_server *, char *, char *);
extern int irc_cmd_recv_331 (t_irc_server *, char *, char *);
extern int irc_cmd_recv_332 (t_irc_server *, char *, char *);
extern int irc_cmd_recv_333 (t_irc_server *, char *, char *);
extern int irc_cmd_recv_341 (t_irc_server *, char *, char *);
extern int irc_cmd_recv_351 (t_irc_server *, char *, char *);
extern int irc_cmd_recv_352 (t_irc_server *, char *, char *);
extern int irc_cmd_recv_353 (t_irc_server *, char *, char *);