Просмотр исходного кода

* Stripped an assortment of useless cmds now that there is cmd relaying.

svn: 150
Bryan Drewery 23 лет назад
Родитель
Сommit
4e77d0d472
1 измененных файлов с 43 добавлено и 217 удалено
  1. 43 217
      src/cmds.c

+ 43 - 217
src/cmds.c

@@ -895,33 +895,6 @@ static void cmd_match(struct userrec *u, int idx, char *par)
 		   chname);
 }
 
-#ifdef HUB
-void cmd_botupdate(struct userrec *u, int idx, char *par)
-{
-  char *tbot,
-    tmp[256];
-
-  putlog(LOG_CMDS, "*", STR("#%s# botupdate %s"), dcc[idx].nick, par);
-  tbot = newsplit(&par);
-  if (!par[0]) {
-    dprintf(idx, STR("Not enough parameters.\n"));
-    return;
-  }
-  if (nextbot(tbot) < 0) {
-    dprintf(idx, STR("No such bot linked\n"));
-    return;
-  }
-  sprintf(tmp, STR("update %s"), par);
-  botnet_send_cmd(botnetnick, tbot, u->handle, idx, tmp);
-}
-#endif /* HUB */
-
-static void rcmd_update(char *fbot, char *fhand, char *fidx, char *par)
-{
-  if (!par[0])
-    return;
-  updatebin(0, par, 0);
-}
 static void cmd_update(struct userrec *u, int idx, char *par)
 {
   putlog(LOG_CMDS, "*", STR("#%s# update %s"), dcc[idx].nick, par);
@@ -946,7 +919,7 @@ static void cmd_userlist(struct userrec *u, int idx, char *par)
       if (cnt)
         dprintf(idx, ", ");
       else
-        dprintf(idx, STR("Chathubs  : "));
+        dprintf(idx, STR("Chathubs: "));
       dprintf(idx, u->handle);
       cnt++;
       if (cnt==15) {
@@ -1094,13 +1067,15 @@ static void cmd_status(struct userrec *u, int idx, char *par)
     do_module_report(idx, 0, NULL);
   }
 }
+
 #ifdef HUB
 static void cmd_dccstat(struct userrec *u, int idx, char *par)
 {
   putlog(LOG_CMDS, "*", "#%s# dccstat", dcc[idx].nick);
   tell_dcc(idx);
 }
-#endif
+#endif /* HUB */
+
 static void cmd_boot(struct userrec *u, int idx, char *par)
 {
   int i, files = 0, ok = 0;
@@ -1274,6 +1249,7 @@ static void cmd_console(struct userrec *u, int idx, char *par)
     (func[CONSOLE_DOSTORE]) (dest);
   }
 }
+
 #ifdef HUB
 static void cmd_chhandle(struct userrec *u, int idx, char *par)
 {
@@ -1320,7 +1296,8 @@ static void cmd_chhandle(struct userrec *u, int idx, char *par)
       dprintf(idx, "Failed.\n");
   }
 }
-#endif
+#endif /* HUB */
+
 static void cmd_handle(struct userrec *u, int idx, char *par)
 {
   char oldhandle[HANDLEN + 1], newhandle[HANDLEN + 1];
@@ -1352,6 +1329,7 @@ static void cmd_handle(struct userrec *u, int idx, char *par)
       dprintf(idx, "Failed.\n");
   }
 }
+
 #ifdef HUB
 static void cmd_chpass(struct userrec *u, int idx, char *par)
 {
@@ -1405,6 +1383,7 @@ static void cmd_chpass(struct userrec *u, int idx, char *par)
     }
   }
 }
+
 static void cmd_chsecpass(struct userrec *u, int idx, char *par)
 {
   char *handle, *new, pass[16];
@@ -1507,6 +1486,7 @@ static void cmd_hublevel(struct userrec *u, int idx, char *par)
   set_user(&USERENTRY_BOTADDR, u1, bi);
   write_userfile(idx);
 }
+
 static void cmd_uplink(struct userrec *u, int idx, char *par)
 {
   char *handle,
@@ -1634,7 +1614,7 @@ static void cmd_chaddr(struct userrec *u, int idx, char *par)
   }
   set_user(&USERENTRY_BOTADDR, u1, bi);
 }
-#endif
+#endif /* HUB */
 
 static void cmd_comment(struct userrec *u, int idx, char *par)
 {
@@ -1709,7 +1689,8 @@ static void cmd_reload(struct userrec *u, int idx, char *par)
   dprintf(idx, "Reloading user file...\n");
   reload();
 }
-#endif
+#endif /* HUB */
+
 void cmd_die(struct userrec *u, int idx, char *par)
 {
   char s1[1024], s2[1024];
@@ -1759,6 +1740,7 @@ static void cmd_simul(struct userrec *u, int idx, char *par)
   if (!ok)
     dprintf(idx, "No such user on the party line.\n");
 }
+
 #ifdef HUB
 static void cmd_link(struct userrec *u, int idx, char *par)
 {
@@ -1785,7 +1767,8 @@ static void cmd_link(struct userrec *u, int idx, char *par)
     botnet_send_link(i, x, s, par);
   }
 }
-#endif
+#endif /* HUB */
+
 static void cmd_unlink(struct userrec *u, int idx, char *par)
 {
   int i;
@@ -1814,6 +1797,7 @@ static void cmd_unlink(struct userrec *u, int idx, char *par)
     botnet_send_unlink(i, x, lastbot(bot), bot, par);
   }
 }
+
 static void cmd_relay(struct userrec *u, int idx, char *par)
 {
   if (!par[0]) {
@@ -1823,6 +1807,7 @@ static void cmd_relay(struct userrec *u, int idx, char *par)
   putlog(LOG_CMDS, "*", "#%s# relay %s", dcc[idx].nick, par);
   tandem_relay(idx, par, 0);
 }
+
 #ifdef HUB
 static void cmd_save(struct userrec *u, int idx, char *par)
 {
@@ -1837,6 +1822,7 @@ static void cmd_backup(struct userrec *u, int idx, char *par)
   dprintf(idx, "Backing up the channel & user files...\n");
   call_hook(HOOK_BACKUP);
 }
+
 static void cmd_trace(struct userrec *u, int idx, char *par)
 {
   int i;
@@ -1860,12 +1846,13 @@ static void cmd_trace(struct userrec *u, int idx, char *par)
   simple_sprintf(y, ":%d", now);
   botnet_send_trace(i, x, par, y);
 }
+
 static void cmd_binds(struct userrec *u, int idx, char *par)
 {
   putlog(LOG_CMDS, "*", "#%s# binds %s", dcc[idx].nick, par);
   tell_binds(idx, par);
 }
-#endif
+#endif /* HUB */
 
 /* After messing with someone's user flags, make sure the dcc-chat flags
  * are set correctly.
@@ -2049,6 +2036,7 @@ int check_dcc_chanattrs(struct userrec *u, char *chname, int chflags,
   }
   return chflags;
 }
+
 static void cmd_chattr(struct userrec *u, int idx, char *par)
 {
   char *hand, *arg = NULL, *tmpchg = NULL, *chg = NULL, work[1024];
@@ -2493,6 +2481,7 @@ static void cmd_echo(struct userrec *u, int idx, char *par)
     (func[CONSOLE_DOSTORE]) (idx);
   }
 }
+
 static void cmd_color(struct userrec *u, int idx, char *par)
 {
   module_entry *me;
@@ -2876,28 +2865,6 @@ static void cmd_nettcl(struct userrec *u, int idx, char *msg)
   else
     dumplots(idx, "Tcl error: ", interp->result);
 }
-
-static void cmd_bottcl(struct userrec *u, int idx, char *msg)
-{
-  char buf[2000], *bot;
-#ifdef S_PERMONLY
-  if (!(isowner(dcc[idx].nick)) && (must_be_owner)) {
-    dprintf(idx, "What?  You need '%shelp'\n", dcc_prefix);
-    return;
-  }
-#endif /* S_PERMONLY */
-  putlog(LOG_CMDS, "*", "#%s# bottcl %s", dcc[idx].nick, msg);
-
-  if (!msg[0]) {
-    dprintf(idx, "Usage: bottcl <botnick> cmd\n");
-    return;
-  }
-  bot = newsplit(&msg);
-
-  egg_snprintf(buf, sizeof buf, "mt %d %s", idx, msg);
-  putbot(bot, buf);
-}
-
 #endif /* S_TCLCMDS */
 
 static void cmd_newleaf(struct userrec *u, int idx, char *par)
@@ -2974,7 +2941,8 @@ static void cmd_set(struct userrec *u, int idx, char *msg)
   } else
     dprintf(idx, "Error: %s\n", interp->result);
 }
-#endif
+#endif /* HUB */
+
 static void cmd_pls_ignore(struct userrec *u, int idx, char *par)
 {
   char			*who;
@@ -3070,6 +3038,7 @@ static void cmd_ignores(struct userrec *u, int idx, char *par)
   putlog(LOG_CMDS, "*", "#%s# ignores %s", dcc[idx].nick, par);
   tell_ignores(idx, par);
 }
+
 static void cmd_pls_user(struct userrec *u, int idx, char *par)
 {
   char *handle, *host;
@@ -3111,7 +3080,7 @@ static void cmd_pls_user(struct userrec *u, int idx, char *par)
 
 #ifdef HUB
     write_userfile(idx);
-#endif
+#endif /* HUB */
   }
 }
 
@@ -3349,6 +3318,7 @@ static void cmd_botserver(struct userrec * u, int idx, char * par) {
   botnet_send_cmd(botnetnick, par, u->handle, idx, STR("cursrv"));
 }
 
+
 void rcmd_cursrv(char * fbot, char * fhand, char * fidx) {
 #ifdef LEAF
   char tmp[2048], cursrvname[500];
@@ -3390,17 +3360,17 @@ void rcmd_ver(char * fbot, char * fhand, char * fidx) {
   char tmp[2048];
 #ifdef HAVE_UNAME
   struct utsname un;
-#endif
+#endif /* HAVE_UNAME */
   sprintf(tmp, STR("%s "), ver);
 #ifdef HAVE_UNAME
   if (uname(&un) < 0) {
-#endif
+#endif /* HAVE_UNAME */
     strcat(tmp, STR("(unknown OS)"));
 #ifdef HAVE_UNAME
   } else {
     sprintf(tmp + strlen(tmp), STR("%s %s (%s)"), un.sysname, un.release, un.machine);
   }
-#endif
+#endif /* HAVE_UNAME */
   botnet_send_cmdreply(botnetnick, fbot, fhand, fidx, tmp);
 }
 
@@ -3439,6 +3409,7 @@ void rcmd_curnick(char * fbot, char * fhand, char * fidx) {
   botnet_send_cmdreply(botnetnick, fbot, fhand, fidx, tmp);
 #endif
 }
+
 /* netmsg, botmsg */
 static void cmd_botmsg(struct userrec * u, int idx, char * par) {
   char * tnick, * tbot;
@@ -3470,6 +3441,7 @@ static void cmd_netmsg(struct userrec * u, int idx, char * par) {
   sprintf(tmp, STR("msg %s %s"), tnick, par);
   botnet_send_cmd_broad(-1, botnetnick, u->handle, idx, tmp);
 }
+
 void rcmd_msg(char * tobot, char * frombot, char * fromhand, char * fromidx, char * par) {
 #ifdef LEAF
   char buf[1024], *nick;
@@ -3481,6 +3453,7 @@ void rcmd_msg(char * tobot, char * frombot, char * fromhand, char * fromidx, cha
   }
 #endif
 }
+
 /* netlag */
 static void cmd_netlag(struct userrec * u, int idx, char * par) {
   struct timeval tv;
@@ -3513,22 +3486,6 @@ void rcmd_pong(char *frombot, char *fromhand, char *fromidx, char *par) {
 
 /* exec commands */
 #ifdef HUB
-static void cmd_botw(struct userrec * u, int idx, char * par) {
-  char * tbot, tmp[128];
-  putlog(LOG_CMDS, "*", STR("#%s# botw %s"), dcc[idx].nick, par);
-  tbot=newsplit(&par);
-  if (!tbot[0]) {
-    dprintf(idx, STR("Usage: botw <botname>\n"));
-    return;
-  }
-  if (nextbot(tbot)<0) {
-    dprintf(idx, STR("No such linked bot\n"));
-    return;
-  }
-  strcpy(tmp, STR("exec w"));
-  botnet_send_cmd(botnetnick, tbot, dcc[idx].nick, idx, tmp);
-}
-
 static void cmd_netw(struct userrec * u, int idx, char * par) {
   char tmp[128];
   putlog(LOG_CMDS, "*", STR("#%s# netw"), dcc[idx].nick);
@@ -3536,73 +3493,6 @@ static void cmd_netw(struct userrec * u, int idx, char * par) {
   botnet_send_cmd_broad(-1, botnetnick, dcc[idx].nick, idx, tmp);
 }
 
-static void cmd_botkill(struct userrec * u, int idx, char * par) {
-  char * tbot, buf[1024];
-  putlog(LOG_CMDS, "*", STR("#%s# botkill %s"), dcc[idx].nick, par);
-  tbot=newsplit(&par);
-  if (!tbot[0]) {
-    dprintf(idx, STR("Usage: botkill <botname> [kill-parameters]\n"));
-    return;
-  }
-  if (strchr(par, '|') || strchr(par, '<') || strchr(par, ';') || strchr(par, '>')) {
-    putlog(LOG_WARN, "*", STR("%s attempted 'botkill' with pipe/semicolon in parameters: %s"), dcc[idx].nick, par);
-    dprintf(idx, STR("No."));
-    return;
-  }
-  if (nextbot(tbot)<0) {
-    dprintf(idx, STR("No such linked bot\n"));
-    return;
-  }
-  sprintf(buf, STR("exec kill %s"), par);
-  botnet_send_cmd(botnetnick, tbot, dcc[idx].nick, idx, buf);
-}
-
-static void cmd_botps(struct userrec * u, int idx, char * par) {
-  char * tbot, buf[1024];
-  putlog(LOG_CMDS, "*", STR("#%s# botps %s"), dcc[idx].nick, par);
-  tbot=newsplit(&par);
-  if (!tbot[0]) {
-    dprintf(idx, STR("Usage: botps <botname> [ps-parameters]\n"));
-    return;
-  }
-  if (strchr(par, '|') || strchr(par, '<') || strchr(par, ';') || strchr(par, '>')) {
-    putlog(LOG_WARN, "*", STR("%s attempted 'botps' with pipe/semicolon in parameters: %s"), dcc[idx].nick, par);
-    dprintf(idx, STR("No."));
-    return;
-  }
-  if (nextbot(tbot)<0) {
-    dprintf(idx, STR("No such linked bot\n"));
-    return;
-  }
-  sprintf(buf, STR("exec ps %s"), par);
-  botnet_send_cmd(botnetnick, tbot, dcc[idx].nick, idx, buf);
-}
-
-static void cmd_botexec(struct userrec * u, int idx, char * par) {
-  char * tbot, buf[1024];
-
-  putlog(LOG_CMDS, "*", STR("#%s# botexec %s"), dcc[idx].nick, par);
-#ifdef S_PERMONLY
-  if (!isowner(u->handle)) {
-    putlog(LOG_WARN, "*", STR("%s attempted 'botexec' %s"), dcc[idx].nick, par);
-    dprintf(idx, STR("botexec is only available to permanent owners\n"));
-    return;
-  }
-#endif /* S_PERMONLY */
-  tbot=newsplit(&par);
-  if (!tbot[0]) {
-    dprintf(idx, STR("Usage: botexec <botname> [parameters]\n"));
-    return;
-  }
-
-  if (nextbot(tbot)<0) {
-    dprintf(idx, STR("No such linked bot\n"));
-    return;
-  }
-  sprintf(buf, STR("exec raw %s"), par);
-  botnet_send_cmd(botnetnick, tbot, dcc[idx].nick, idx, buf);
-}
-
 static void cmd_netps(struct userrec * u, int idx, char * par) {
   char buf[1024];
   putlog(LOG_CMDS, "*", STR("#%s# netps %s"), dcc[idx].nick, par);
@@ -3614,26 +3504,6 @@ static void cmd_netps(struct userrec * u, int idx, char * par) {
   sprintf(buf, STR("exec ps %s"), par);
   botnet_send_cmd_broad(-1, botnetnick, dcc[idx].nick, idx, buf);
 }
-static void cmd_botlast(struct userrec * u, int idx, char * par) {
-  char * tbot, buf[1024];
-  putlog(LOG_CMDS, "*", STR("#%s# botlast %s"), dcc[idx].nick, par);
-  tbot=newsplit(&par);
-  if (!tbot[0]) {
-    dprintf(idx, STR("Usage: botlast <botname> [userid]\n"));
-    return;
-  }
-  if (strchr(par, '|') || strchr(par, '<') || strchr(par, ';') || strchr(par, '>')) {
-    putlog(LOG_WARN, "*", STR("%s attempted 'botlast' with pipe/semicolon in parameters: %s"), dcc[idx].nick, par);
-    dprintf(idx, STR("No."));
-    return;
-  }
-  if (nextbot(tbot)<0) {
-    dprintf(idx, STR("No such linked bot\n"));
-    return;
-  }
-  sprintf(buf, STR("exec last %s"), par);
-  botnet_send_cmd(botnetnick, tbot, dcc[idx].nick, idx, buf);
-}
 
 static void cmd_netlast(struct userrec * u, int idx, char * par) {
   char buf[1024];
@@ -3646,7 +3516,8 @@ static void cmd_netlast(struct userrec * u, int idx, char * par) {
   sprintf(buf, STR("exec last %s"), par);
   botnet_send_cmd_broad(-1, botnetnick, dcc[idx].nick, idx, buf);
 }
-#endif
+#endif /* HUB */
+
 void crontab_show(struct userrec * u, int idx) {
   dprintf(idx, STR("Showing current crontab:\n"));
   if (!exec_str(u, idx, STR("crontab -l | grep -v \"^#\"")))
@@ -3713,24 +3584,8 @@ void cmd_crontab(struct userrec *u, int idx, char *par) {
     dprintf(idx, STR("Usage: crontab status|delete|show|new [interval]\n"));
   }
 }
-#ifdef HUB
-static void cmd_botcrontab(struct userrec * u, int idx, char * par) {
-  char * tbot, buf[1024], *cmd;
-  putlog(LOG_CMDS, "*", STR("#%s# botcrontab %s"), dcc[idx].nick, par);
-  tbot=newsplit(&par);
-  cmd=newsplit(&par);
-  if (!tbot[0] || (strcmp(cmd, STR("status")) && strcmp(cmd, STR("show")) && strcmp(cmd, STR("delete")) && strcmp(cmd, STR("new")))) {
-    dprintf(idx, STR("Usage: botcrontab <botname> status|delete|show|new [interval]\n"));
-    return;
-  }
-  if (nextbot(tbot)<0) {
-    dprintf(idx, STR("No such linked bot\n"));
-    return;
-  }
-  egg_snprintf(buf, sizeof buf, STR("exec crontab %s %s"), cmd, par);
-  botnet_send_cmd(botnetnick, tbot, dcc[idx].nick, idx, buf);
-}
 
+#ifdef HUB
 static void cmd_netcrontab(struct userrec * u, int idx, char * par) {
   char buf[1024], *cmd;
   putlog(LOG_CMDS, "*", STR("#%s# netcrontab %s"), dcc[idx].nick, par);
@@ -3742,7 +3597,7 @@ static void cmd_netcrontab(struct userrec * u, int idx, char * par) {
   egg_snprintf(buf, sizeof buf, STR("exec crontab %s %s"), cmd, par);
   botnet_send_cmd_broad(-1, botnetnick, dcc[idx].nick, idx, buf);
 }
-#endif
+#endif /* HUB */
 
 void rcmd_exec(char * frombot, char * fromhand, char * fromidx, char * par) {
   char * cmd, scmd[512], *out, *err;
@@ -3832,23 +3687,6 @@ void rcmd_exec(char * frombot, char * fromhand, char * fromidx, char * par) {
   }
 
 }
-#ifdef HUB
-static void cmd_botdie(struct userrec * u, int idx, char * par) {
-  char *tbot, buf[1024];
-  putlog(LOG_CMDS, "*", STR("#%s# botdie %s"), dcc[idx].nick, par);
-  tbot=newsplit(&par);
-  if (!tbot[0]) {
-    dprintf(idx, STR("Usage: botdie <botname>\n"));
-    return;
-  }
-  if (nextbot(tbot)<0) {
-    dprintf(idx, STR("No such linked bot\n"));
-    return;
-  }
-  sprintf(buf, STR("die %s"), par);
-  botnet_send_cmd(botnetnick, tbot, dcc[idx].nick, idx, buf);
-}
-#endif
 
 static void cmd_botjump(struct userrec * u, int idx, char * par) {
   char *tbot, buf[1024];
@@ -3892,9 +3730,10 @@ void rcmd_jump(char * frombot, char * fromhand, char * fromidx, char * par) {
 
   (*(int *)(func[23])) = 0; //cycle_time
   (func[SERVER_NUKESERVER]) ("jumping...");
-#endif
+#endif /* LEAF */
 }
 
+
 /* "Remotable" commands */
 void gotremotecmd (char * forbot, char * frombot, char * fromhand, char * fromidx, char * cmd) {
   char * par = cmd;
@@ -3917,8 +3756,6 @@ void gotremotecmd (char * forbot, char * frombot, char * fromhand, char * fromid
     rcmd_pong(frombot, fromhand, fromidx, par);
   } else if (!strcmp(cmd, STR("die"))) {
     exit(0);
-  } else if (!strcmp(cmd, STR("update"))) {
-    rcmd_update(frombot, fromhand, fromidx, par);
   } else {
     botnet_send_cmdreply(botnetnick, frombot, fromhand, fromidx, STR("Unrecognized remote command"));
   }
@@ -4103,7 +3940,6 @@ dcc_cmd_t C_dcc[] =
 #ifdef HUB
 #ifdef S_TCLCMDS
   {"nettcl",		"a",	(Function) cmd_nettcl,		NULL,    NULL},
-  {"bottcl",		"a",	(Function) cmd_bottcl,		NULL,    NULL},
 #endif /* S_TCLCMDS */
   {"newleaf",		"n",	(Function) cmd_newleaf,		NULL,    NULL},
 #endif /* HUB */
@@ -4135,8 +3971,6 @@ dcc_cmd_t C_dcc[] =
   {"unlink",		"m",	(Function) cmd_unlink,		NULL,    NULL},
   {"update",		"a",	(Function) cmd_update,		NULL,    NULL},
 #ifdef HUB
-  {"botupdate",		"a",	(Function) cmd_botupdate,	NULL,    NULL},
-  {"botcrontab",	"a",	(Function) cmd_botcrontab,	NULL,    NULL},
   {"netcrontab",	"a",	(Function) cmd_netcrontab,	NULL,    NULL},
 #endif /* HUB */
   {"uptime",		"m|m",	(Function) cmd_uptime,		NULL,    NULL},
@@ -4148,26 +3982,18 @@ dcc_cmd_t C_dcc[] =
   {"whois",		"",	(Function) cmd_whois,		NULL,    NULL},
   {"whom",		"",	(Function) cmd_whom,		NULL,    NULL},
   {"whoami",		"",	(Function) cmd_whoami,		NULL,    NULL},
-  {"botjump", 		"n", 	(Function) cmd_botjump, 	NULL,    NULL},
-#ifdef HUB
-  {"botdie", 		"a", 	(Function) cmd_botdie, 	NULL,    NULL},
-#endif /* HUB */
-  {"botmsg", 		"o", 	(Function) cmd_botmsg, 		NULL,    NULL},
+  {"botjump",           "n",    (Function) cmd_botjump,         NULL,    NULL},
+  {"botmsg",           "o",    (Function) cmd_botmsg,          NULL,    NULL},
   {"netmsg", 		"n", 	(Function) cmd_netmsg, 		NULL,    NULL},
   {"botnick", 		"m", 	(Function) cmd_botnick, 	NULL,    NULL},
   {"netnick", 		"m", 	(Function) cmd_netnick, 	NULL,    NULL},
 #ifdef HUB
-  {"botw", 		"n", 	(Function) cmd_botw, 		NULL,    NULL},
   {"netw", 		"n", 	(Function) cmd_netw, 		NULL,    NULL},
-  {"botps", 		"n", 	(Function) cmd_botps, 		NULL,    NULL},
-  {"botexec",		"a",	(Function) cmd_botexec,		NULL,	 NULL},
-  {"botkill", 		"n", 	(Function) cmd_botkill,		NULL,    NULL},
   {"netps", 		"n", 	(Function) cmd_netps, 		NULL,    NULL},
-  {"botlast", 		"n", 	(Function) cmd_botlast, 	NULL,    NULL},
   {"netlast", 		"n", 	(Function) cmd_netlast, 	NULL,    NULL},
 #endif /* HUB */
   {"netlag", 		"m", 	(Function) cmd_netlag, 		NULL,    NULL},
-  {"botserver", 	"m", 	(Function) cmd_botserver, 	NULL,    NULL},
+  {"botserver",		"m",	(Function) cmd_botserver,	NULL,	 NULL},
   {"netserver", 	"m", 	(Function) cmd_netserver, 	NULL,    NULL},
   {"botversion", 	"o", 	(Function) cmd_botversion, 	NULL,    NULL},
   {"netversion", 	"o", 	(Function) cmd_netversion, 	NULL,    NULL},