return mode;
}
+std::string ModeHandler::GetUserParameter(User* user)
+{
+ return "";
+}
+
ModeAction ModeHandler::OnModeChange(User*, User*, Channel*, std::string&, bool, bool)
{
return MODEACTION_DENY;
{
}
+void ModeHandler::OnParameterMissing(User* user, User* dest, Channel* channel)
+{
+}
+
bool ModeHandler::CheckTimeStamp(time_t theirs, time_t ours, const std::string&, const std::string&, Channel*)
{
return (ours < theirs);
return;
}
- if ((targetuser == user) || (IS_OPER(user)))
+ if (targetuser == user || user->HasPrivPermission("users/auspex"))
{
/* Display user's current mode string */
user->WriteNumeric(RPL_UMODEIS, "%s :+%s",targetuser->nick.c_str(),targetuser->FormatModes());
continue;
}
- if (!IS_OPER(user))
+ if (!user->HasPrivPermission("channels/auspex"))
{
if (ServerInstance->Config->HideModeLists[mletter] && (targetchannel->GetStatus(user) < STATUS_HOP))
{
else
{
/* No parameter, continue to the next mode */
+ modehandlers[handler_id]->OnParameterMissing(user, targetuser, targetchannel);
continue;
}