summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/modules/m_silence.cpp8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/modules/m_silence.cpp b/src/modules/m_silence.cpp
index b6d821bc4..e6cd730ac 100644
--- a/src/modules/m_silence.cpp
+++ b/src/modules/m_silence.cpp
@@ -95,6 +95,14 @@ void handle_silence(char **parameters, int pcnt, userrec *user)
user->Extend(std::string("silence_list"),(char*)sl);
}
// add the nick to it -- silence only takes nicks for some reason even though its list shows masks
+ for (silencelist::iterator n = sl->begin(); n != sl->end(); n++)
+ {
+ if (!strcasecmp(n->c_str(),nick))
+ {
+ WriteServ(user->fd,"952 %s %s :%s is already on your silence list",user->nick, user->nick,nick);
+ return;
+ }
+ }
sl->push_back(std::string(nick));
WriteServ(user->fd,"951 %s %s :Added %s!*@* to silence list",user->nick, user->nick,nick);
return;