X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=src%2Fmodules%2Fm_ircv3.cpp;h=0e28d59f2e6b8bead8c7ef97ad0dbce8d05cbab8;hb=551d687ec6d7ce44be35fae0dd7345fe73c4f63a;hp=798734d55c467a5434725a22a8acae1849760027;hpb=d9d0d1b6a96cf52182b46b78393ba8b2a7c50f46;p=user%2Fhenk%2Fcode%2Finspircd.git diff --git a/src/modules/m_ircv3.cpp b/src/modules/m_ircv3.cpp index 798734d55..0e28d59f2 100644 --- a/src/modules/m_ircv3.cpp +++ b/src/modules/m_ircv3.cpp @@ -19,8 +19,8 @@ /* $ModDesc: Provides support for extended-join, away-notify and account-notify CAP capabilities */ #include "inspircd.h" -#include "account.h" -#include "m_cap.h" +#include "modules/account.h" +#include "modules/cap.h" class ModuleIRCv3 : public Module { @@ -75,10 +75,14 @@ class ModuleIRCv3 : public Module ModuleIRCv3() : cap_accountnotify(this, "account-notify"), cap_awaynotify(this, "away-notify"), cap_extendedjoin(this, "extended-join") + { + } + + void init() { OnRehash(NULL); - Implementation eventlist[] = { I_OnUserJoin, I_OnPostJoin, I_OnSetAway, I_OnEvent }; - ServerInstance->Modules->Attach(eventlist, this, 4); + Implementation eventlist[] = { I_OnUserJoin, I_OnPostJoin, I_OnSetAway, I_OnEvent, I_OnRehash }; + ServerInstance->Modules->Attach(eventlist, this, sizeof(eventlist)/sizeof(Implementation)); } void OnRehash(User* user) @@ -121,7 +125,7 @@ class ModuleIRCv3 : public Module void OnUserJoin(Membership* memb, bool sync, bool created, CUList& excepts) { // Remember who is not going to see the JOIN because of other modules - if ((awaynotify) && (IS_AWAY(memb->user))) + if ((awaynotify) && (memb->user->IsAway())) last_excepts = excepts; if (!extendedjoin) @@ -208,7 +212,7 @@ class ModuleIRCv3 : public Module void OnPostJoin(Membership *memb) { - if ((!awaynotify) || (!IS_AWAY(memb->user))) + if ((!awaynotify) || (!memb->user->IsAway())) return; std::string line = ":" + memb->user->GetFullHost() + " AWAY :" + memb->user->awaymsg;