#include "module.h" #define AUTHOR "Anope" #define VERSION "0.1" BotInfo *AdServ = NULL; CommandHash *cmdTable[MAX_CMD_HASH]; class CommandASHelp : public Command { public: CommandASHelp() : Command("HELP", 0, 0) { } CommandReturn Execute(User *u, const std::vector ¶ms) { ircdproto->SendMessage(AdServ, u->nick.c_str(), "Dies ist ein Hilfe-Text."); return MOD_CONT; } } class AdServModule : public Module { public: AdServModule(const std::string &modname, const std::string &creator) : Module(modname, creator) { this->SetAuthor(AUTHOR); this->SetVersion(VERSION); this->SetType(THIRD); this->SetPermanent(true); this->AddCommand(cmdTable, new CommandASHelp()); AdServ = findbot("AdServ"); if (!AdServ) { Alog() << "Creating AdServ"; AdServ = new BotInfo("AdServ", Config.ServiceUser, Config.ServiceHost, "AdServ Bot"); Alog() << "Done creating AdServ"; } AddServ->cmdTable = cmdTable; } ~AdServModule() { CommandHash *current; Command *c; for (int i = 0; i < MAX_CMD_HASH; ++i) { for (current = cmdTable[i]; current; current = current->next) { for (c = current->c; c; c->next) this->DelCommand(cmdTable, c->name.c_str()); } } if (AdServ) { ircdproto->SendQuit(AdServ, "Quit due to module unload"); delete AdServ; } } }; MODULE_INIT(AdServModule)