|
|||
|
|||
|


Public Member Functions | |
| ModuleJoinFlood (InspIRCd *Me) | |
| virtual int | OnUserPreJoin (User *user, Channel *chan, const char *cname, std::string &privs, const std::string &keygiven) |
| Called whenever a user is about to join a channel, before any processing is done. | |
| virtual void | OnUserJoin (User *user, Channel *channel, bool sync, bool &silent) |
| Called when a user joins a channel. | |
| void | OnChannelDelete (Channel *chan) |
| Called whenever a channel is deleted, either by QUIT, KICK or PART. | |
| virtual | ~ModuleJoinFlood () |
| virtual Version | GetVersion () |
| Returns the version number of a Module. | |
Private Attributes | |
| JoinFlood * | jf |
Definition at line 207 of file m_joinflood.cpp.
|
|
Definition at line 214 of file m_joinflood.cpp. References ModeParser::AddMode(), ModuleManager::Attach(), I_OnChannelDelete, I_OnUserJoin, I_OnUserPreJoin, jf, InspIRCd::Modes, InspIRCd::Modules, and Module::ServerInstance. |
|
|
Definition at line 274 of file m_joinflood.cpp. References ModeParser::DelMode(), jf, InspIRCd::Modes, and Module::ServerInstance. |
|
|
Returns the version number of a Module. The method should return a Version object with its version information assigned via Version::Version Reimplemented from Module. Definition at line 280 of file m_joinflood.cpp. References API_VERSION, VF_COMMON, and VF_VENDOR. |
|
|
Called whenever a channel is deleted, either by QUIT, KICK or PART.
Reimplemented from Module. Definition at line 263 of file m_joinflood.cpp. References Extensible::GetExt(), and Extensible::Shrink(). |
|
||||||||||||||||||||
|
Called when a user joins a channel. The details of the joining user are available to you in the parameter User *user, and the details of the channel they have joined is available in the variable Channel *channel
Reimplemented from Module. Definition at line 242 of file m_joinflood.cpp. References joinfloodsettings::addjoin(), joinfloodsettings::clear(), InspIRCd::Config, Extensible::GetExt(), joinfloodsettings::joins, joinfloodsettings::lock(), Channel::name, joinfloodsettings::secs, Module::ServerInstance, ServerConfig::ServerName, joinfloodsettings::shouldlock(), and Channel::WriteChannelWithServ(). |
|
||||||||||||||||||||||||
|
Called whenever a user is about to join a channel, before any processing is done. Returning a value of 1 from this function stops the process immediately, causing no output to be sent to the user by the core. If you do this you must produce your own numerics, notices etc. This is useful for modules which may want to mimic +b, +k, +l etc. Returning -1 from this function forces the join to be allowed, bypassing restrictions such as banlists, invite, keys etc. IMPORTANT NOTE! If the user joins a NEW channel which does not exist yet, OnUserPreJoin will be called BEFORE the channel record is created. This will cause Channel* chan to be NULL. There is very little you can do in form of processing on the actual channel record at this point, however the channel NAME will still be passed in char* cname, so that you could for example implement a channel blacklist or whitelist, etc.
Reimplemented from Module. Definition at line 225 of file m_joinflood.cpp. References Extensible::GetExt(), joinfloodsettings::islocked(), Channel::name, User::nick, and User::WriteNumeric(). |
|
|
Definition at line 210 of file m_joinflood.cpp. Referenced by ModuleJoinFlood(), and ~ModuleJoinFlood(). |