X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=src%2Fmodules%2Fm_auditorium.cpp;h=4be1feb5c222eb0c139b882a785a4b8c765e3bd2;hb=f5c631ef8641db6455bed23c02e5a39f63f7d6d0;hp=7519b11894a5b0c3490d2115a2ad2422a67604d7;hpb=905a2c45a475f947ca28ce8909b563b4f69eeb28;p=user%2Fhenk%2Fcode%2Finspircd.git diff --git a/src/modules/m_auditorium.cpp b/src/modules/m_auditorium.cpp index 7519b1189..4be1feb5c 100644 --- a/src/modules/m_auditorium.cpp +++ b/src/modules/m_auditorium.cpp @@ -50,8 +50,11 @@ class ModuleAuditorium : public Module OnRehash(NULL); - Implementation eventlist[] = { I_OnUserJoin, I_OnUserPart, I_OnUserKick, I_OnBuildNeighborList, I_OnNamesListItem, I_OnRehash }; - ServerInstance->Modules->Attach(eventlist, this, 6); + Implementation eventlist[] = { + I_OnUserJoin, I_OnUserPart, I_OnUserKick, + I_OnBuildNeighborList, I_OnNamesListItem, I_OnSendWhoLine, + I_OnRehash }; + ServerInstance->Modules->Attach(eventlist, this, 7); } ~ModuleAuditorium() @@ -164,6 +167,18 @@ class ModuleAuditorium : public Module } } } + + void OnSendWhoLine(User* source, const std::vector&, User* user, Channel* channel, std::string& line) + { + if (!channel) + return; + Membership* memb = channel->GetUser(user); + if (IsVisible(memb)) + return; + if (CanSee(source, memb)) + return; + line.clear(); + } }; MODULE_INIT(ModuleAuditorium)