Anope IRC Services  Version 2.0
Public Member Functions | Private Attributes
BotServCore Class Reference
Inheritance diagram for BotServCore:
Inheritance graph
Collaboration diagram for BotServCore:
Collaboration graph

Public Member Functions

 BotServCore (const Anope::string &modname, const Anope::string &creator)
void OnReload (Configuration::Conf *conf) anope_override
void OnSetCorrectModes (User *user, Channel *chan, AccessGroup &access, bool &give_modes, bool &take_modes) anope_override
void OnBotAssign (User *sender, ChannelInfo *ci, BotInfo *bi) anope_override
void OnJoinChannel (User *user, Channel *c) anope_override
void OnLeaveChannel (User *u, Channel *c) anope_override
EventReturn OnPreHelp (CommandSource &source, const std::vector< Anope::string > &params) anope_override
void OnPostHelp (CommandSource &source, const std::vector< Anope::string > &params) anope_override
EventReturn OnChannelModeSet (Channel *c, MessageSource &source, ChannelMode *mode, const Anope::string &param) anope_override
void OnCreateChan (ChannelInfo *ci) anope_override
void OnUserKicked (const MessageSource &source, User *target, const Anope::string &channel, ChannelStatus &status, const Anope::string &kickmsg) anope_override
void OnCreateBot (BotInfo *bi) anope_override
- Public Member Functions inherited from Module
 Module (const Anope::string &modname, const Anope::string &loadernick, ModType type=THIRD)
virtual ~Module ()
void SetPermanent (bool state)
bool GetPermanent () const
void SetVersion (const Anope::string &version)
void SetAuthor (const Anope::string &author)
ModuleVersion GetVersion () const
virtual void OnPreUserKicked (const MessageSource &source, ChanUserContainer *cu, const Anope::string &kickmsg)
virtual EventReturn OnPreBotAssign (User *sender, ChannelInfo *ci, BotInfo *bi)
virtual EventReturn OnBotUnAssign (User *sender, ChannelInfo *ci)
virtual void OnUserConnect (User *u, bool &exempt)
virtual void OnNewServer (Server *s)
virtual void OnUserNickChange (User *u, const Anope::string &oldnick)
virtual EventReturn OnPreCommand (CommandSource &source, Command *command, std::vector< Anope::string > &params)
virtual void OnPostCommand (CommandSource &source, Command *command, const std::vector< Anope::string > &params)
virtual void OnSaveDatabase ()
virtual EventReturn OnLoadDatabase ()
virtual EventReturn OnEncrypt (const Anope::string &src, Anope::string &dest)
virtual EventReturn OnDecrypt (const Anope::string &hashm, const Anope::string &src, Anope::string &dest)
virtual EventReturn OnBotFantasy (CommandSource &source, Command *c, ChannelInfo *ci, const std::vector< Anope::string > &params)
virtual EventReturn OnBotNoFantasyAccess (CommandSource &source, Command *c, ChannelInfo *ci, const std::vector< Anope::string > &params)
virtual void OnBotBan (User *u, ChannelInfo *ci, const Anope::string &mask)
virtual void OnBadWordAdd (ChannelInfo *ci, const BadWord *bw)
virtual void OnBadWordDel (ChannelInfo *ci, const BadWord *bw)
virtual void OnDelBot (BotInfo *bi)
virtual EventReturn OnBotKick (BotInfo *bi, Channel *c, User *u, const Anope::string &reason)
virtual void OnPrePartChannel (User *u, Channel *c)
virtual void OnPartChannel (User *u, Channel *c, const Anope::string &channel, const Anope::string &msg)
virtual void OnTopicUpdated (Channel *c, const Anope::string &user, const Anope::string &topic)
virtual void OnPreChanExpire (ChannelInfo *ci, bool &expire)
virtual void OnChanExpire (ChannelInfo *ci)
virtual void OnPreServerConnect ()
virtual void OnServerConnect ()
virtual void OnPreUplinkSync (Server *serv)
virtual void OnServerDisconnect ()
virtual void OnRestart ()
virtual void OnShutdown ()
virtual void OnPreNickExpire (NickAlias *na, bool &expire)
virtual void OnNickExpire (NickAlias *na)
virtual void OnDefconLevel (int level)
virtual EventReturn OnExceptionAdd (Exception *ex)
virtual void OnExceptionDel (CommandSource &source, Exception *ex)
virtual EventReturn OnAddXLine (CommandSource &source, const XLine *x, XLineManager *xlm)
virtual void OnDelXLine (CommandSource &source, const XLine *x, XLineManager *xlm)
virtual EventReturn IsServicesOper (User *u)
virtual void OnServerQuit (Server *server)
virtual void OnUserQuit (User *u, const Anope::string &msg)
virtual void OnPreUserLogoff (User *u)
virtual void OnPostUserLogoff (User *u)
virtual void OnBotCreate (BotInfo *bi)
virtual void OnBotChange (BotInfo *bi)
virtual void OnBotDelete (BotInfo *bi)
virtual void OnAccessDel (ChannelInfo *ci, CommandSource &source, ChanAccess *access)
virtual void OnAccessAdd (ChannelInfo *ci, CommandSource &source, ChanAccess *access)
virtual void OnAccessClear (ChannelInfo *ci, CommandSource &source)
virtual void OnLevelChange (CommandSource &source, ChannelInfo *ci, const Anope::string &priv, int16_t what)
virtual EventReturn OnChanDrop (CommandSource &source, ChannelInfo *ci)
virtual void OnChanRegistered (ChannelInfo *ci)
virtual void OnChanSuspend (ChannelInfo *ci)
virtual void OnChanUnsuspend (ChannelInfo *ci)
virtual void OnDelChan (ChannelInfo *ci)
virtual void OnChannelCreate (Channel *c)
virtual void OnChannelDelete (Channel *c)
virtual void OnAkickAdd (CommandSource &source, ChannelInfo *ci, const AutoKick *ak)
virtual void OnAkickDel (CommandSource &source, ChannelInfo *ci, const AutoKick *ak)
virtual EventReturn OnCheckKick (User *u, Channel *c, Anope::string &mask, Anope::string &reason)
virtual void OnChanInfo (CommandSource &source, ChannelInfo *ci, InfoFormatter &info, bool show_hidden)
virtual EventReturn OnCheckPriv (const ChanAccess *access, const Anope::string &priv)
virtual EventReturn OnGroupCheckPriv (const AccessGroup *group, const Anope::string &priv)
virtual void OnNickDrop (CommandSource &source, NickAlias *na)
virtual void OnNickGroup (User *u, NickAlias *target)
virtual void OnNickIdentify (User *u)
virtual void OnUserLogin (User *u)
virtual void OnNickLogout (User *u)
virtual void OnNickRegister (User *user, NickAlias *na, const Anope::string &pass)
virtual void OnNickSuspend (NickAlias *na)
virtual void OnNickUnsuspended (NickAlias *na)
virtual void OnDelNick (NickAlias *na)
virtual void OnNickCoreCreate (NickCore *nc)
virtual void OnDelCore (NickCore *nc)
virtual void OnChangeCoreDisplay (NickCore *nc, const Anope::string &newdisplay)
virtual void OnNickClearAccess (NickCore *nc)
virtual void OnNickAddAccess (NickCore *nc, const Anope::string &entry)
virtual void OnNickEraseAccess (NickCore *nc, const Anope::string &entry)
virtual void OnNickClearCert (NickCore *nc)
virtual void OnNickAddCert (NickCore *nc, const Anope::string &entry)
virtual void OnNickEraseCert (NickCore *nc, const Anope::string &entry)
virtual void OnNickInfo (CommandSource &source, NickAlias *na, InfoFormatter &info, bool show_hidden)
virtual void OnBotInfo (CommandSource &source, BotInfo *bi, ChannelInfo *ci, InfoFormatter &info)
virtual void OnCheckAuthentication (User *u, IdentifyRequest *req)
virtual void OnNickUpdate (User *u)
virtual void OnFingerprint (User *u)
virtual void OnUserAway (User *u, const Anope::string &message)
virtual void OnInvite (User *source, Channel *c, User *targ)
virtual void OnDeleteVhost (NickAlias *na)
virtual void OnSetVhost (NickAlias *na)
virtual void OnSetDisplayedHost (User *)
virtual void OnMemoSend (const Anope::string &source, const Anope::string &target, MemoInfo *mi, Memo *m)
virtual void OnMemoDel (const Anope::string &target, MemoInfo *mi, const Memo *m)
virtual EventReturn OnChannelModeUnset (Channel *c, MessageSource &setter, ChannelMode *mode, const Anope::string &param)
virtual void OnUserModeSet (const MessageSource &setter, User *u, const Anope::string &mname)
virtual void OnUserModeUnset (const MessageSource &setter, User *u, const Anope::string &mname)
virtual void OnChannelModeAdd (ChannelMode *cm)
virtual void OnUserModeAdd (UserMode *um)
virtual EventReturn OnMLock (ChannelInfo *ci, ModeLock *lock)
virtual EventReturn OnUnMLock (ChannelInfo *ci, ModeLock *lock)
virtual void OnModuleLoad (User *u, Module *m)
virtual void OnModuleUnload (User *u, Module *m)
virtual void OnServerSync (Server *s)
virtual void OnUplinkSync (Server *s)
virtual EventReturn OnBotPrivmsg (User *u, BotInfo *bi, Anope::string &message)
virtual void OnBotNotice (User *u, BotInfo *bi, Anope::string &message)
virtual void OnPrivmsg (User *u, Channel *c, Anope::string &msg)
virtual void OnLog (Log *l)
virtual void OnLogMessage (LogInfo *li, const Log *l, const Anope::string &msg)
virtual void OnDnsRequest (DNS::Query &req, DNS::Query *reply)
virtual void OnCheckModes (Reference< Channel > &c)
virtual void OnChannelSync (Channel *c)
virtual void OnSerializeCheck (Serialize::Type *)
virtual void OnSerializableConstruct (Serializable *)
virtual void OnSerializableDestruct (Serializable *)
virtual void OnSerializableUpdate (Serializable *)
virtual void OnSerializeTypeCreate (Serialize::Type *)
virtual EventReturn OnSetChannelOption (CommandSource &source, Command *cmd, ChannelInfo *ci, const Anope::string &setting)
virtual EventReturn OnSetNickOption (CommandSource &source, Command *cmd, NickCore *nc, const Anope::string &setting)
virtual EventReturn OnMessage (MessageSource &source, Anope::string &command, std::vector< Anope::string > &param)
virtual EventReturn OnCanSet (User *u, const ChannelMode *cm)
virtual EventReturn OnCheckDelete (Channel *)
virtual void OnExpireTick ()
virtual EventReturn OnNickValidate (User *u, NickAlias *na)
- Public Member Functions inherited from Extensible
virtual ~Extensible ()
template<typename T >
T * GetExt (const Anope::string &name) const
bool HasExt (const Anope::string &name) const
template<typename T >
T * Extend (const Anope::string &name, const T &what)
template<typename T >
T * Extend (const Anope::string &name)
template<typename T >
T * Require (const Anope::string &name)
template<typename T >
void Shrink (const Anope::string &name)
bool * Extend (const Anope::string &name, const bool &what)

Private Attributes

Reference< BotInfoBotServ
ExtensibleRef< bool > persist
ExtensibleRef< bool > inhabit

Additional Inherited Members

- Static Public Member Functions inherited from Extensible
static void ExtensibleSerialize (const Extensible *, const Serializable *, Serialize::Data &data)
static void ExtensibleUnserialize (Extensible *, Serializable *, Serialize::Data &data)
- Data Fields inherited from Module
Anope::string name
ModType type
Anope::string filename
void * handle
time_t created
Anope::string version
Anope::string author
- Data Fields inherited from Extensible
std::set< ExtensibleBase * > extension_items

Detailed Description

Definition at line 14 of file botserv.cpp.

Constructor & Destructor Documentation

BotServCore::BotServCore ( const Anope::string modname,
const Anope::string creator 

Definition at line 20 of file botserv.cpp.

Member Function Documentation

void BotServCore::OnBotAssign ( User sender,
ChannelInfo ci,
BotInfo bi 

Called when a bot is assigned ot a channel

Reimplemented from Module.

Definition at line 42 of file botserv.cpp.

EventReturn BotServCore::OnChannelModeSet ( Channel c,
MessageSource setter,
ChannelMode mode,
const Anope::string param 

Called when a mode is set on a channel

cThe channel
setterThe user or server that is setting the mode
modeThe mode
paramThe mode param, if there is one
EVENT_STOP to make mlock/secureops etc checks not happen

Reimplemented from Module.

Definition at line 177 of file botserv.cpp.

References EVENT_CONTINUE, and Entry::Matches().

void BotServCore::OnCreateBot ( BotInfo bi)

Called when a bot is created or destroyed

Reimplemented from Module.

Definition at line 207 of file botserv.cpp.

void BotServCore::OnCreateChan ( ChannelInfo ci)

Called when a channel is being created, for any reason

ciThe channel

Reimplemented from Module.

Definition at line 191 of file botserv.cpp.

References sepstream::GetToken().

void BotServCore::OnJoinChannel ( User u,
Channel c 

Called after a user joins a channel If this event triggers the user is allowed to be in the channel, and will not be kicked for restricted/akick/forbidden, etc. If you want to kick the user, use the CheckKick event instead.

uThe user
channelThe channel

We let the bot join even if it was an ignored user, as if we don't, and the ignored user doesnt just leave, the bot will never make it into the channel, leaving the channel botless even for legit users - Rob

Reimplemented from Module.

Definition at line 51 of file botserv.cpp.

References anope_dynamic_static_cast(), Anope::string::c_str(), ModeManager::FindChannelModeByName(), Entry::GetMask(), User::GetModeList(), IRCD, Entry::Matches(), Me, User::nick, ModeManager::ProcessModes(), IRCDProto::SendNotice(), and User::server.

void BotServCore::OnLeaveChannel ( User u,
Channel c 

Called when a user leaves a channel. From either parting, being kicked, or quitting/killed!

uThe user
cThe channel

Reimplemented from Module.

Definition at line 106 of file botserv.cpp.

void BotServCore::OnPostHelp ( CommandSource source,
const std::vector< Anope::string > &  params 

Called when someone uses the generic/help command

sourceCommand source

Reimplemented from Module.

Definition at line 162 of file botserv.cpp.

References _, BotServ, Anope::string::c_str(), and Anope::string::empty().

EventReturn BotServCore::OnPreHelp ( CommandSource source,
const std::vector< Anope::string > &  params 

Called when someone uses the generic/help command

sourceCommand source
EVENT_STOP to stop processing

Reimplemented from Module.

Definition at line 127 of file botserv.cpp.

References _, Anope::string::c_str(), Anope::string::empty(), EVENT_CONTINUE, and User::nick.

void BotServCore::OnReload ( Configuration::Conf conf)

Called when Services' configuration is being (re)loaded.

confThe config that is being built now and will replace the global Config object
AConfigException to abort the config (re)loading process.

Reimplemented from Module.

Definition at line 25 of file botserv.cpp.

References BotInfo::Find().

void BotServCore::OnSetCorrectModes ( User user,
Channel chan,
AccessGroup access,
bool &  give_modes,
bool &  take_modes 

Called to set the correct modes on the user on the given channel

userThe user
chanThe channel
accessThe user's access on the channel
give_modesIf giving modes is desired
take_modesIf taking modes is desired

Reimplemented from Module.

Definition at line 31 of file botserv.cpp.

References ModeManager::FindChannelModeByChar(), and Anope::string::length().

void BotServCore::OnUserKicked ( const MessageSource source,
User target,
const Anope::string channel,
ChannelStatus status,
const Anope::string kickmsg 

Called when a user has been kicked from a channel.

sourceThe kicker
targetThe user being kicked
channelThe channel the user was kicked from, which may no longer exist
statusThe status the kicked user had on the channel before they were kicked
kickmsgThe reason for the kick.

Reimplemented from Module.

Definition at line 199 of file botserv.cpp.

References BotInfo::Find(), and BotInfo::Join().

Field Documentation

Reference<BotInfo> BotServCore::BotServ

Definition at line 16 of file botserv.cpp.

Referenced by OnPostHelp().

ExtensibleRef<bool> BotServCore::inhabit

Definition at line 17 of file botserv.cpp.

ExtensibleRef<bool> BotServCore::persist

Definition at line 17 of file botserv.cpp.

The documentation for this class was generated from the following file: