summaryrefslogtreecommitdiff
path: root/src/modules/m_repeat.cpp
AgeCommit message (Collapse)Author
2020-04-10Update the module descriptions using mkversion.Sadie Powell
2020-01-11Update copyright headers.InspIRCd Robot
2019-06-12Show the mode syntax in ERR_INVALIDMODEPARAM.Peter Powell
2019-06-05m_repeat: Fix parsing mode parameterlinuxdaemon
2019-04-28Some more text fixes and improvements (#1618).Robby
2019-02-18Various text improvements: consistency, syntax, help and doc updates/fixes.Robby
2018-12-21Only parse valid durations, don't treat invalid multipliers as seconds (#1538)linuxdaemon
2018-12-16Fix ParamModeBase::OnUnset() not being virtual.Peter Powell
Closes #1536.
2018-12-12Fix conversion issues by replacing ConvToInt with ConvToNum<T>.Peter Powell
The former was a thin wrapper around atol and brought with it all of the weird parsing logic of atol which is almost never what is actually wanted. It also almost never returned the numeric type which is actually wanted which can cause weird issues when casting.
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