class ModuleAlias : public Module
{
- private:
-
char fprefix;
/* We cant use a map, there may be multiple aliases with the same name.
* We can, however, use a fancy invention: the multimap. Maps a key to one or more values.
* -- w00t
- */
+ */
std::multimap<irc::string, Alias> Aliases;
/* whether or not +B users are allowed to use fantasy commands */
virtual void ReadAliases()
{
- ConfigReader MyConf;
-
- AllowBots = MyConf.ReadFlag("fantasy", "allowbots", "no", 0);
-
- std::string fpre = MyConf.ReadValue("fantasy","prefix",0);
+ ConfigTag* fantasy = ServerInstance->Config->ConfValue("fantasy");
+ AllowBots = fantasy->getBool("allowbots", false);
+ std::string fpre = fantasy->getString("prefix", "!");
fprefix = fpre.empty() ? '!' : fpre[0];
Aliases.clear();
}
public:
-
- ModuleAlias()
+ void init()
{
ReadAliases();
- ServerInstance->Modules->Attach(I_OnPreCommand, this);
- ServerInstance->Modules->Attach(I_OnRehash, this);
- ServerInstance->Modules->Attach(I_OnUserMessage, this);
- }
-
- virtual ~ModuleAlias()
- {
+ Implementation eventlist[] = { I_OnPreCommand, I_OnRehash, I_OnUserMessage };
+ ServerInstance->Modules->Attach(eventlist, this, sizeof(eventlist)/sizeof(Implementation));
}
virtual Version GetVersion()
}
}
- if ((a->OperOnly) && (!IS_OPER(user)))
+ if ((a->OperOnly) && (!user->IsOper()))
return 0;
if (!a->RequiredNick.empty())