1
0
mirror of https://github.com/anope/anope.git synced 2026-06-26 03:06:38 +02:00

Move assign and unassign to new events, allow for halting too should modules desire that.

git-svn-id: http://anope.svn.sourceforge.net/svnroot/anope/trunk@2107 5417fbe8-f217-4b02-8779-1006273d7864
This commit is contained in:
rburchell
2009-02-18 22:59:16 +00:00
parent 3fe5aa037a
commit 187c45059a
5 changed files with 42 additions and 14 deletions
+10 -3
View File
@@ -10,6 +10,7 @@
*/
#include "services.h"
#include "modules.h"
BotInfo::BotInfo(const char *nnick)
{
@@ -89,6 +90,11 @@ void BotInfo::RejoinAll()
void BotInfo::Assign(User *u, ChannelInfo *ci)
{
EventReturn MOD_RESULT = EVENT_CONTINUE;
FOREACH_RESULT(I_OnBotAssign, OnBotAssign(u, ci, this));
if (MOD_RESULT == EVENT_STOP)
return;
if (ci->bi)
{
if (u)
@@ -101,13 +107,14 @@ void BotInfo::Assign(User *u, ChannelInfo *ci)
this->chancount++;
if (ci->c && ci->c->usercount >= BSMinUsers)
bot_join(ci);
send_event(EVENT_BOT_ASSIGN, 2, ci->name, this->nick);
}
void BotInfo::UnAssign(User *u, ChannelInfo *ci)
{
send_event(EVENT_BOT_UNASSIGN, 2, ci->name, ci->bi->nick);
EventReturn MOD_RESULT = EVENT_CONTINUE;
FOREACH_RESULT(I_OnBotUnAssign, OnBotUnAssign(u, ci));
if (MOD_RESULT == EVENT_STOP)
return;
if (u && ci->c && ci->c->usercount >= BSMinUsers)
ircdproto->SendPart(ci->bi, ci->name, "UNASSIGN from %s", u->nick);