mirror of
https://github.com/znc/znc.git
synced 2026-03-28 17:42:41 +01:00
Merge commit 'refs/pull/188/head' of github.com:znc/znc
Conflicts: modules/watch.cpp
This commit is contained in:
@@ -10,9 +10,11 @@
|
||||
#include <znc/User.h>
|
||||
#include <znc/IRCNetwork.h>
|
||||
#include <list>
|
||||
#include <set>
|
||||
|
||||
using std::list;
|
||||
using std::vector;
|
||||
using std::set;
|
||||
|
||||
class CWatchSource {
|
||||
public:
|
||||
@@ -287,15 +289,19 @@ public:
|
||||
|
||||
private:
|
||||
void Process(const CNick& Nick, const CString& sMessage, const CString& sSource) {
|
||||
set<CString> sHandledTargets;
|
||||
|
||||
for (list<CWatchEntry>::iterator it = m_lsWatchers.begin(); it != m_lsWatchers.end(); ++it) {
|
||||
CWatchEntry& WatchEntry = *it;
|
||||
|
||||
if (WatchEntry.IsMatch(Nick, sMessage, sSource, m_pNetwork)) {
|
||||
if (WatchEntry.IsMatch(Nick, sMessage, sSource, m_pNetwork) &&
|
||||
sHandledTargets.count(WatchEntry.GetTarget()) < 1) {
|
||||
if (m_pNetwork->IsUserAttached()) {
|
||||
m_pNetwork->PutUser(":" + WatchEntry.GetTarget() + "!watch@znc.in PRIVMSG " + m_pNetwork->GetCurNick() + " :" + sMessage);
|
||||
} else {
|
||||
m_Buffer.AddLine(":" + _NAMEDFMT(WatchEntry.GetTarget()) + "!watch@znc.in PRIVMSG {target} :{text}", sMessage);
|
||||
}
|
||||
sHandledTargets.insert(WatchEntry.GetTarget());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user