diff options
Diffstat (limited to 'src/modules')
-rw-r--r-- | src/modules/m_spanningtree.cpp | 20 |
1 files changed, 18 insertions, 2 deletions
diff --git a/src/modules/m_spanningtree.cpp b/src/modules/m_spanningtree.cpp index 14680efd6..8901c4353 100644 --- a/src/modules/m_spanningtree.cpp +++ b/src/modules/m_spanningtree.cpp @@ -3468,7 +3468,7 @@ class ModuleSpanningTree : public Module DoOneToOne(user->nick,"NOTICE",params,d->server); } } - else + else if (target_type == TYPE_CHANNEL) { if (user->fd > -1) { @@ -3487,6 +3487,14 @@ class ModuleSpanningTree : public Module } } } + else if (target_type == TYPE_SERVER) + { + char* target = (char*)dest; + std::deque<std::string> par; + par.push_back(target); + par.push_back(":"+text); + DoOneToMany(user->nick,"NOTICE",par); + } } virtual void OnUserMessage(userrec* user, void* dest, int target_type, const std::string &text, char status) @@ -3505,7 +3513,7 @@ class ModuleSpanningTree : public Module DoOneToOne(user->nick,"PRIVMSG",params,d->server); } } - else + else if (target_type == TYPE_CHANNEL) { if (user->fd > -1) { @@ -3524,6 +3532,14 @@ class ModuleSpanningTree : public Module } } } + else if (target_type == TYPE_SERVER) + { + char* target = (char*)dest; + std::deque<std::string> par; + par.push_back(target); + par.push_back(":"+text); + DoOneToMany(user->nick,"PRIVMSG",par); + } } virtual void OnBackgroundTimer(time_t curtime) |