#include "inspircd.h"
-#ifndef CMD_ISON_H
-#define CMD_ISON_H
-
-// include the common header files
-
-#include "users.h"
-#include "channels.h"
-
/** Handle /ISON. These command handlers can be reloaded by the core,
* and handle basic RFC1459 commands. Commands within modules work
* the same way, however, they can be fully unloaded, where these
public:
/** Constructor for ison.
*/
- CommandIson ( Module* parent) : Command(parent,"ISON",0,0) { syntax = "<nick> {nick}"; }
+ CommandIson ( Module* parent) : Command(parent,"ISON", 1) {
+ syntax = "<nick> {nick}";
+ }
/** Handle command.
* @param parameters The parameters to the comamnd
* @param pcnt The number of parameters passed to teh command
CmdResult Handle(const std::vector<std::string>& parameters, User *user);
};
-#endif
-
-
/** Handle /ISON
*/
CmdResult CommandIson::Handle (const std::vector<std::string>& parameters, User *user)
{
std::map<User*,User*> ison_already;
User *u;
- std::string reply = std::string("303 ") + user->nick + " :";
+ std::string reply = "303 " + user->nick + " :";
for (unsigned int i = 0; i < parameters.size(); i++)
{
if (ison_already.find(u) != ison_already.end())
continue;
- if (u)
+ if ((u) && (u->registered == REG_ALL))
{
reply.append(u->nick).append(" ");
if (reply.length() > 450)
{
user->WriteServ(reply);
- reply = std::string("303 ") + user->nick + " :";
+ reply = "303 " + user->nick + " :";
}
ison_already[u] = u;
}
if (ison_already.find(u) != ison_already.end())
continue;
- if (u)
+ if ((u) && (u->registered == REG_ALL))
{
reply.append(u->nick).append(" ");
if (reply.length() > 450)
{
user->WriteServ(reply);
- reply = std::string("303 ") + user->nick + " :";
+ reply = "303 " + user->nick + " :";
}
ison_already[u] = u;
}