- this->source = "m_spy.so";
- syntax = "{<channel>{,<channel>}}";
- }
-
- CmdResult Handle (const char** parameters, int pcnt, userrec *user)
- {
- chanrec* c = NULL;
-
- if (!pcnt)
- {
- user->WriteServ("366 %s * :End of /NAMES list.",user->nick);
- return CMD_FAILURE;
- }
-
- if (ServerInstance->Parser->LoopCall(user, this, parameters, pcnt, 0))
- return CMD_FAILURE;
-
- c = ServerInstance->FindChan(parameters[0]);
- if (c)
- {
- ServerInstance->WriteOpers("*** Oper %s used SPYNAMES to view the users on %s", user->nick, parameters[0]);
- spy_userlist(user,c);
- user->WriteServ("366 %s %s :End of /NAMES list.", user->nick, c->name);
- }
- else
- {
- user->WriteServ("401 %s %s :No such nick/channel",user->nick, parameters[0]);
- }
-
- return CMD_FAILURE;
+ /* To ensure that we get priority over namesx and delayjoin for names list generation */
+ Module* list[] = { ServerInstance->Modules->Find("m_namesx.so"), ServerInstance->Modules->Find("m_delayjoin.so") };
+ ServerInstance->Modules->SetPriority(this, I_OnUserList, PRIORITY_BEFORE, list, 2);