return MOD_RES_PASSTHRU;
}
- void OnUserMessage(User *user, void *dest, int target_type, const std::string &text, char status, const CUList &exempt_list, MessageType msgtype) CXX11_OVERRIDE
+ void OnUserPostMessage(User* user, const MessageTarget& target, const MessageDetails& details) CXX11_OVERRIDE
{
- if ((target_type != TYPE_CHANNEL) || (msgtype != MSG_PRIVMSG))
+ if ((target.type != MessageTarget::TYPE_CHANNEL) || (details.type != MSG_PRIVMSG))
{
return;
}
return;
}
- Channel *c = (Channel *)dest;
+ Channel *c = target.Get<Channel>();
std::string scommand;
// text is like "!moo cows bite me", we want "!moo" first
- irc::spacesepstream ss(text);
+ irc::spacesepstream ss(details.text);
ss.GetToken(scommand);
if (scommand.size() <= fprefix.size())
return;
/* The parameters for the command in their original form, with the command stripped off */
- std::string compare(text, scommand.length() + fprefix.size());
+ std::string compare(details.text, scommand.length() + fprefix.size());
while (*(compare.c_str()) == ' ')
compare.erase(compare.begin());
if (i->second.ChannelCommand)
{
// We use substr here to remove the fantasy prefix
- if (DoAlias(user, c, &(i->second), compare, text.substr(fprefix.size())))
+ if (DoAlias(user, c, &(i->second), compare, details.text.substr(fprefix.size())))
return;
}
}
{
if (isdigit(newline[i+1]))
{
- int len = ((i + 2 < newline.length()) && (newline[i+2] == '-')) ? 3 : 2;
+ size_t len = ((i + 2 < newline.length()) && (newline[i+2] == '-')) ? 3 : 2;
std::string var = newline.substr(i, len);
result.append(GetVar(var, original_line));
i += len - 1;
}
else if (!newline.compare(i, 5, "$host", 5))
{
- result.append(user->host);
+ result.append(user->GetRealHost());
i += 4;
}
else if (!newline.compare(i, 5, "$chan", 5))
}
else if (!newline.compare(i, 6, "$vhost", 6))
{
- result.append(user->dhost);
+ result.append(user->GetDisplayedHost());
i += 5;
}
else if (!newline.compare(i, 12, "$requirement", 12))
{
// Prioritise after spanningtree so that channel aliases show the alias before the effects.
Module* linkmod = ServerInstance->Modules->Find("m_spanningtree.so");
- ServerInstance->Modules->SetPriority(this, I_OnUserMessage, PRIORITY_AFTER, linkmod);
+ ServerInstance->Modules->SetPriority(this, I_OnUserPostMessage, PRIORITY_AFTER, linkmod);
}
};