*/
+/* $ModDesc: Allows for delay-join channels (+D) where users don't appear to join until they speak */
+
#include "inspircd.h"
#include <stdarg.h>
LocalIntExt unjoined;
ModuleDelayJoin() : djm(this), unjoined("delayjoin", this)
{
- if (!ServerInstance->Modes->AddMode(&djm))
- throw ModuleException("Could not add new modes!");
+ }
+
+ void init()
+ {
+ ServerInstance->Modules->AddService(djm);
+ ServerInstance->Modules->AddService(unjoined);
Implementation eventlist[] = { I_OnUserJoin, I_OnUserPart, I_OnUserKick, I_OnBuildNeighborList, I_OnNamesListItem, I_OnText, I_OnRawMode };
- ServerInstance->Modules->Attach(eventlist, this, 7);
+ ServerInstance->Modules->Attach(eventlist, this, sizeof(eventlist)/sizeof(Implementation));
}
~ModuleDelayJoin();
Version GetVersion();
ModResult OnRawMode(User* user, Channel* channel, const char mode, const std::string ¶m, bool adding, int pcnt);
};
-/* $ModDesc: Allows for delay-join channels (+D) where users don't appear to join until they speak */
-
ModeAction DelayJoinMode::OnModeChange(User* source, User* dest, Channel* channel, std::string ¶meter, bool adding)
{
/* no change */
}
MODULE_INIT(ModuleDelayJoin)
-