diff options
Diffstat (limited to 'degesch.c')
-rw-r--r-- | degesch.c | 18 |
1 files changed, 14 insertions, 4 deletions
@@ -6629,8 +6629,14 @@ handle_command_whois (struct app_context *ctx, char *arguments) struct server *s = ctx->current_buffer->server; if (*arguments) irc_send (s, "WHOIS %s", arguments); + else if (ctx->current_buffer->type == BUFFER_PM) + irc_send (s, "WHOIS %s", ctx->current_buffer->user->nickname); + else if (ctx->current_buffer->type == BUFFER_SERVER) + irc_send (s, "WHOIS %s", s->irc_user->nickname); else - irc_send (s, "WHOIS"); + buffer_send_error (ctx, ctx->current_buffer, + "%s: %s", "Can't request info", + "no target given and this buffer is not a PM nor a server"); return true; } @@ -6643,8 +6649,12 @@ handle_command_whowas (struct app_context *ctx, char *arguments) struct server *s = ctx->current_buffer->server; if (*arguments) irc_send (s, "WHOWAS %s", arguments); + else if (ctx->current_buffer->type == BUFFER_PM) + irc_send (s, "WHOWAS %s", ctx->current_buffer->user->nickname); else - irc_send (s, "WHOWAS"); + buffer_send_error (ctx, ctx->current_buffer, + "%s: %s", "Can't request info", + "no target given and this buffer is not a PM"); return true; } @@ -6816,10 +6826,10 @@ g_command_handlers[] = "[<mask>]", handle_command_who }, { "whois", "Get user information", - "<mask>", + "[<target>] <mask>", handle_command_whois }, { "whowas", "Get user information", - "<mask>", + "<user> [<count> [<target>]]", handle_command_whowas }, { "motd", "Get the Message of The Day", |