void ModuleSpanningTree::OnUserNotice(User* user, void* dest, int target_type, const std::string &text, char status, const CUList &exempt_list)
{
+ /* Server origin */
+ if (user == NULL)
+ return;
+
if (target_type == TYPE_USER)
{
User* d = (User*)dest;
void ModuleSpanningTree::OnUserMessage(User* user, void* dest, int target_type, const std::string &text, char status, const CUList &exempt_list)
{
+ /* Server origin */
+ if (user == NULL)
+ return;
+
if (target_type == TYPE_USER)
{
// route private messages which are targetted at clients only to the server
{
FOREACH_MOD_I(Instance, I_OnUserNotice, OnUserNotice(NULL, channel, TYPE_SERVER, text, status, except_list));
}
- channel->WriteChannelWithServ(prefix.c_str(), "%s %s :%s", messagetype.c_str(), channel->name, text.c_str());
+ TreeServer* s = Utils->FindServer(prefix);
+ channel->WriteChannelWithServ(s->GetName().c_str(), "%s %s :%s", messagetype.c_str(), channel->name, text.c_str());
}
/* Propogate as channel privmsg */