aboutsummaryrefslogtreecommitdiff
path: root/src/modules/m_repeat.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Show the mode syntax in ERR_INVALIDMODEPARAM.Gravatar Peter Powell2019-06-121-9/+9
|
* m_repeat: Fix parsing mode parameterGravatar linuxdaemon2019-06-051-4/+1
|
* Some more text fixes and improvements (#1618).Gravatar Robby2019-04-281-1/+1
|
* Various text improvements: consistency, syntax, help and doc updates/fixes.Gravatar Robby2019-02-181-3/+3
|
* Only parse valid durations, don't treat invalid multipliers as seconds (#1538)Gravatar linuxdaemon2018-12-211-2/+5
|
* Fix ParamModeBase::OnUnset() not being virtual.Gravatar Peter Powell2018-12-161-1/+1
| | | | Closes #1536.
* Fix conversion issues by replacing ConvToInt with ConvToNum<T>.Gravatar Peter Powell2018-12-121-3/+3
| | | | | | | 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.
* Add ConfigTag::getUInt for reading unsigned config values.Gravatar Peter Powell2018-04-161-4/+4
|
* Convert ConfigTag::getDuration to return an unsigned long.Gravatar Peter Powell2018-04-161-1/+1
|
* Validate settings in order in ValidateSettings() (#1475).Gravatar genius30002018-04-061-24/+25
| | | | | * 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
* Add ERR_INVALIDMODEPARAM for responding to invalid mode params.Gravatar Peter Powell2018-01-291-9/+16
| | | | | | | | | | | | | | | 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.
* Rework message handling.Gravatar Peter Powell2018-01-061-4/+4
| | | | | | | | | | | | | - 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.
* Add the override keyword in places that it is missing.Gravatar Peter Powell2017-11-211-1/+1
| | | | GCCs warnings for this are much better than Clangs.
* Hide User#host and User#dhost and use accessors to modify them.Gravatar Peter Powell2017-10-281-1/+1
| | | | | This removes the need to invalidate the cache after changing a user's hostname.
* Add a helper function for calling the OnCheckExemption event.Gravatar Peter Powell2017-10-211-2/+1
|
* Convert a bunch of time-related config options to getDuration.Gravatar Peter Powell2017-09-031-1/+1
|
* Move the OnCheckExemption hook out of the core.Gravatar Peter Powell2017-03-201-2/+10
|
* Fix some whitespace issuesGravatar Attila Molnar2015-12-281-1/+1
|
* m_repeat: fix typo (similiar->similar)Gravatar James Lu2015-06-121-2/+2
| | | | Also update docs/ accordingly
* Specify which Extensible subclass an ExtensionItem is valid forGravatar Attila Molnar2015-01-181-1/+1
|
* Replace irc::modestacker usage with the new ModeParser::Process()Gravatar Attila Molnar2014-09-031-5/+3
|
* Remove typedef UserMembCIter, use Channel::MemberMap::const_iterator insteadGravatar Attila Molnar2014-07-141-1/+1
|
* Rename UserMembList to Channel::MemberMap, switch all code to use itGravatar Attila Molnar2014-07-141-1/+1
|
* Change return type of Channel::GetUsers() to reference from pointer as it is ↵Gravatar Attila Molnar2014-07-141-2/+2
| | | | never NULL
* Add ParamModeBase and ParamMode, change all parameter modes to inherit from ↵Gravatar Attila Molnar2014-02-151-62/+65
| | | | | | | | | | 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
* Globally #undef min and max on WindowsGravatar Attila Molnar2014-01-231-5/+0
|
* Automatically register ServiceProviders created by modulesGravatar attilamolnar2013-09-081-7/+0
|
* Replace OnRehash() with ReadConfig() that is called on boot, on module load ↵Gravatar attilamolnar2013-08-301-2/+1
| | | | | | and on rehash This eliminates the need for calling OnRehash() in init()
* Automatically attach modules to eventsGravatar attilamolnar2013-08-041-2/+0
|
* m_repeat Optimize the Levenshtein() functionGravatar attilamolnar2013-06-241-31/+24
| | | | | 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
* Call Channel::SetModeParam() from the mode parser when needed instead of ↵Gravatar attilamolnar2013-06-131-2/+0
| | | | requiring mode handlers to do it
* Introduce ModeProcessFlags, can be passed to ModeParser::Process() to ↵Gravatar attilamolnar2013-06-131-1/+1
| | | | | | | | 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.)
* Added m_repeat - Allows for blocking of similiar messagesGravatar Daniel Vassdal2013-06-101-0/+424
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