summaryrefslogtreecommitdiff
path: root/src/modules
diff options
context:
space:
mode:
Diffstat (limited to 'src/modules')
-rw-r--r--src/modules/m_chanprotect.cpp29
1 files changed, 29 insertions, 0 deletions
diff --git a/src/modules/m_chanprotect.cpp b/src/modules/m_chanprotect.cpp
index 65a7b0e84..5a8e40a36 100644
--- a/src/modules/m_chanprotect.cpp
+++ b/src/modules/m_chanprotect.cpp
@@ -279,6 +279,35 @@ class ModuleChanProtect : public Module
}
return 0;
}
+
+ virtual void OnSendList(userrec* user, chanrec* channel, char mode)
+ {
+ if (mode == 'q')
+ {
+ chanuserlist cl = Srv->GetUsers(channel);
+ for (int i = 0; i < cl.size(); i++)
+ {
+ if (cl[i]->GetExt("cm_founder_"+std::string(channel->name)))
+ {
+ WriteServ(user->fd,"386 %s %s %s",user->nick, channel->name,cl[i]->nick);
+ }
+ }
+ WriteServ(user->fd,"387 %s %s :End of channel founder list",user->nick, channel->name);
+ }
+ if (mode == 'a')
+ {
+ chanuserlist cl = Srv->GetUsers(channel);
+ for (int i = 0; i < cl.size(); i++)
+ {
+ if (cl[i]->GetExt("cm_protect_"+std::string(channel->name)))
+ {
+ WriteServ(user->fd,"388 %s %s %s",user->nick, channel->name,cl[i]->nick);
+ }
+ }
+ WriteServ(user->fd,"389 %s %s :End of channel protected user list",user->nick, channel->name);
+ }
+
+ }
virtual ~ModuleChanProtect()
{