return Version("Provides the ability to manipulate modes via long names.",VF_VENDOR);
}
+ void Prioritize()
+ {
+ ServerInstance->Modules->SetPriority(this, I_OnPreMode, PRIORITY_FIRST);
+ }
+
void On005Numeric(std::string& line)
{
std::string::size_type pos = line.find(" CHANMODES=");
void DisplayList(User* user, Channel* channel)
{
+ std::stringstream items;
for(char letter = 'A'; letter <= 'z'; letter++)
{
ModeHandler* mh = ServerInstance->Modes->FindMode(letter, MODETYPE_CHANNEL);
std::string item = mh->name;
if (mh->GetNumParams(true))
item += "=" + channel->GetModeParameter(letter);
- user->WriteNumeric(961, "%s %s %s", user->nick.c_str(), channel->name.c_str(), item.c_str());
+ items << item << " ";
}
+ char pfx[MAXBUF];
+ snprintf(pfx, MAXBUF, ":%s 961 %s %s", ServerInstance->Config->ServerName.c_str(), user->nick.c_str(), channel->name.c_str());
+ user->SendText(std::string(pfx), items);
user->WriteNumeric(960, "%s %s :End of mode list", user->nick.c_str(), channel->name.c_str());
}