/* modcmd.c - Generalized module command support
* Copyright 2002-2004 srvx Development Team
*
- * This file is part of srvx.
+ * This file is part of x3.
*
* srvx is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
{ "MCMSG_NO_CHANNEL_BEFORE", "You may not give a channel name before this command." },
{ "MCMSG_NO_PLUS_CHANNEL", "You may not use a +channel with this command." },
{ "MCMSG_COMMAND_ALIASES", "%s is an alias for: %s" },
+/* { "MCMSG_HELP_COMMAND_ALIAS_FOR", "$bALIAS FOR:$b %s" },*/
{ "MCMSG_HELP_COMMAND_ALIAS", "$uAlias for:$u %s" },
{ "MCMSG_COMMAND_BINDING", "%s is a binding of: %s" },
{ "MCMSG_ALIAS_ERROR", "Error in alias expansion for %s; check the error log for details." },
}
if (argc < cmd->command->min_argc) {
send_message(user, service->bot, "MSG_MISSING_PARAMS", cmd->name);
+ svccmd_send_help_brief(user, service->bot, cmd);
return 0;
}
if (!cmd->command->func) {
* return send_help(user, bot, cmd->command->parent->helpfile, cmd->command->name);
* TODO: We actually DO want to show the parent IF there is no other help.
*/
- r = send_help(user, bot, cmd->command->parent->helpfile, cmd->name);
+ r = send_help(user, bot, cmd->command->parent->helpfile, cmd->name);
+ if(cmd->command->name && strcasecmp(cmd->command->name, cmd->name))
+ {
+ send_message(user, bot, "MCMSG_HELP_COMMAND_ALIAS", cmd->command->name);
+ }
/* If it's an alias, show what it's an alias for. */
if (cmd->alias.used) {
return r;
}
+int
+svccmd_send_help_brief(struct userNode *user, struct userNode *bot, struct svccmd *cmd) {
+ char cmdname[MAXLEN];
+ unsigned int nn;
+ int r;
+ /* Show command name (in bold). */
+ for (nn=0; cmd->name[nn]; nn++)
+ cmdname[nn] = toupper(cmd->name[nn]);
+ cmdname[nn] = 0;
+
+ /* Show the help entry for the underlying command. */
+ /* Lets not show help for a parent command, thats not what
+ * they asked for!
+ * return send_help(user, bot, cmd->command->parent->helpfile, cmd->command->name);
+ * TODO: We actually DO want to show the parent IF there is no other help.
+ */
+ /* If it's an alias, show what it's an alias for. */
+ if (cmd->alias.used) {
+ char alias_text[MAXLEN];
+ unsplit_string((char**)cmd->alias.list, cmd->alias.used, alias_text);
+ send_message(user, bot, "MCMSG_COMMAND_ALIASES", cmd->name, cmd->command->name);
+ }
+ r = send_help_brief(user, bot, cmd->command->parent->helpfile, cmd->name);
+ if(!r) {
+ if(cmd->command->name)
+ {
+ send_message(user, bot, "MCMSG_COMMAND_ALIASES", cmd->name, cmd->command->name);
+ r = send_help_brief(user, bot, cmd->command->parent->helpfile, cmd->command->name);
+ }
+ }
+
+ return r;
+}
+
+
int
svccmd_send_help_2(struct userNode *user, struct service *service, const char *topic) {
struct module *module;