diff --git a/src/bots.cpp b/src/bots.cpp index cef77ec9d..2dbaa8b83 100644 --- a/src/bots.cpp +++ b/src/bots.cpp @@ -21,6 +21,7 @@ BotInfo::BotInfo(const char *nnick) nbots++; this->cmdTable = NULL; this->flags = 0; + this->chancount = 0; if (s_ChanServ && !stricmp(s_ChanServ, nnick)) this->flags |= BI_CHANSERV; @@ -55,6 +56,7 @@ BotInfo::BotInfo(const char *nnick, const char *nuser, const char *nhost, const nbots++; this->cmdTable = NULL; this->flags = 0; + this->chancount = 0; if (s_ChanServ && !stricmp(s_ChanServ, nnick)) this->flags |= BI_CHANSERV; diff --git a/src/core/bs_bot.c b/src/core/bs_bot.c index 78ad93737..8ab832b8d 100644 --- a/src/core/bs_bot.c +++ b/src/core/bs_bot.c @@ -107,27 +107,15 @@ class CommandBSBot : public Command return MOD_CONT; } - bi = new BotInfo(nick); - if (!bi) + if (!(bi = new BotInfo(nick, user, host, real))) { notice_lang(s_BotServ, u, BOT_BOT_CREATION_FAILED); return MOD_CONT; } - bi->user = sstrdup(user); - bi->host = sstrdup(host); - bi->real = sstrdup(real); - bi->created = time(NULL); - bi->flags = 0; - bi->chancount = 0; - /* We check whether user with this nick is online, and kill it if so */ EnforceQlinedNick(nick, s_BotServ); - /* We make the bot online, ready to serve */ - ircdproto->SendClientIntroduction(bi->nick, bi->user, bi->host, bi->real, - ircd->pseudoclient_mode, bi->uid.c_str()); - notice_lang(s_BotServ, u, BOT_BOT_ADDED, bi->nick, bi->user, bi->host, bi->real);