summaryrefslogtreecommitdiff
path: root/src/modules/m_repeat.cpp
AgeCommit message (Collapse)Author
2018-04-16Add ConfigTag::getUInt for reading unsigned config values.Peter Powell
2018-04-16Convert ConfigTag::getDuration to return an unsigned long.Peter Powell
2018-04-06Validate settings in order in ValidateSettings() (#1475).genius3000
* Validate the settings in the same order as the parameter syntax * Always validate Lines and Secs regardless of having a Diff * Check Backlog for greater than Max as well as being disabled
2018-01-29Add ERR_INVALIDMODEPARAM for responding to invalid mode params.Peter Powell
Currently on invalid modes we do a combination of different things: 1. Send a custom mode-specific numeric (which often collides with other modes). 2. Send a server notice. 3. Do absolutely nothing. This new numeric is a generic way of handling invalid parameters when setting a mode that avoids all of the mistakes of the previous behaviour.
2018-01-06Rework message handling.Peter Powell
- Move all message-related types to their own header to make moving them to a cross-module events easier. - Rename OnUserMessage to OnUserPostMessage. - Rename OnText to OnUserMessage. - Replace the dest, target_type, and status parameters with the MessageTarget class. - Replace the text, exempt_list, and msgtype parameters with the MessageDetails struct. - Add echooriginal and originaltext to the MessageDetails struct to allow spam filtering to not be broken by cap echo-message.
2017-11-21Add the override keyword in places that it is missing.Peter Powell
GCCs warnings for this are much better than Clangs.
2017-10-28Hide User#host and User#dhost and use accessors to modify them.Peter Powell
This removes the need to invalidate the cache after changing a user's hostname.
2017-10-21Add a helper function for calling the OnCheckExemption event.Peter Powell
2017-09-03Convert a bunch of time-related config options to getDuration.Peter Powell
2017-03-20Move the OnCheckExemption hook out of the core.Peter Powell
2015-12-28Fix some whitespace issuesAttila Molnar
2015-06-12m_repeat: fix typo (similiar->similar)James Lu
Also update docs/ accordingly
2015-01-18Specify which Extensible subclass an ExtensionItem is valid forAttila Molnar
2014-09-03Replace irc::modestacker usage with the new ModeParser::Process()Attila Molnar
2014-07-14Remove typedef UserMembCIter, use Channel::MemberMap::const_iterator insteadAttila Molnar
2014-07-14Rename UserMembList to Channel::MemberMap, switch all code to use itAttila Molnar
2014-07-14Change return type of Channel::GetUsers() to reference from pointer as it is ↵Attila Molnar
never NULL
2014-02-15Add ParamModeBase and ParamMode, change all parameter modes to inherit from ↵Attila Molnar
ParamMode - Type of the extension used to store data is a template parameter - The extension is automatically unset when the mode is unset - Handlers inheriting from ParamMode have to provide OnSet() and SerializeParam(); may optionally provide OnUnset() - Transparently handle the case when OnSet() modifies the mode parameter - Remove Channel::custom_mode_params map; ask the mode handlers to serialize their parameters instead
2014-01-23Globally #undef min and max on WindowsAttila Molnar
2013-09-08Automatically register ServiceProviders created by modulesattilamolnar
2013-08-30Replace OnRehash() with ReadConfig() that is called on boot, on module load ↵attilamolnar
and on rehash This eliminates the need for calling OnRehash() in init()
2013-08-04Automatically attach modules to eventsattilamolnar
2013-06-24m_repeat Optimize the Levenshtein() functionattilamolnar
New version uses 2 vectors instead of a matrix Do not shrink the vectors even if the user sets a lower <repeat:size> than before, this is because longer lines may remain in the backlog
2013-06-13Call Channel::SetModeParam() from the mode parser when needed instead of ↵attilamolnar
requiring mode handlers to do it
2013-06-13Introduce ModeProcessFlags, can be passed to ModeParser::Process() to ↵attilamolnar
indicate local only mode changes and mode merges Change ProtocolInterface::SendMode() to take source and destination parameters, and call it from the mode parser whenever the mode change is global This deprecates the ambiguous InspIRCd::SendMode() and InspIRCd::SendGlobalMode() interface (the latter sent mode changes originating from local users twice, etc.)
2013-06-10Added m_repeat - Allows for blocking of similiar messagesDaniel Vassdal
Changes to the original module: - Parse settings using a sepstream, accept remote mode changes regardless of our config - Refuse to link when config settings differ - Style changes All ideas and features are the brainchild and work of Daniel Vassdal