aboutsummaryrefslogtreecommitdiff
path: root/src/modules/m_chanhistory.cpp
Commit message (Expand)AuthorAgeFilesLines
* Update copyright headers.Gravatar InspIRCd Robot2022-12-301-1/+0
* Automatically prune the history lists in chanhistory.Gravatar Sadie Powell2021-04-031-18/+24
* Update copyright headers.Gravatar InspIRCd Robot2021-02-261-1/+1
* Refactor OnUserPostMessage in the chanhistory module.Gravatar Sadie Powell2021-02-241-11/+13
* Add a user mode which allows disabling receiving channel history.•••Closes #1830. Gravatar Sadie Powell2021-01-111-6/+22
* Update the module descriptions using mkversion.Gravatar Sadie Powell2020-04-101-1/+1
* Fix the chanhistory module not storing CTCP ACTIONs.Gravatar Sadie Powell2020-01-311-1/+2
* Update copyright headers.Gravatar InspIRCd Robot2020-01-111-0/+6
* Rename <chanhistory:notice> to <chanhistory:prefixmsg>.•••This name is a lot lessambiguous. Gravatar Sadie Powell2020-01-031-4/+4
* Make chanhistory skip CTCPs when storing messages.•••Sending historic CTCPs to clients can only end badly. Gravatar Sadie Powell2020-01-031-1/+1
* Make chanhistory replay notices as well as privmsgs.Gravatar Sadie Powell2020-01-031-7/+9
* Fix the chanhistory module not replaying message tags.Gravatar Sadie Powell2020-01-031-3/+27
* Extract history sending logic in chanhistory to its own function.Gravatar Peter Powell2019-07-211-23/+30
* Split ServerEventListener into {Broadcast,Link,Sync}EventListener.•••There is no reason to have these events in one big handler and it causes unnecessary event hooks to be created by having them like this. The ServerEventListener class still exists for compatibility Gravatar Peter Powell2019-07-151-2/+2
* Use DurationString() in the 'Replaying ...' message.Gravatar Matt Schatz2019-07-041-1/+1
* Show the mode syntax in ERR_INVALIDMODEPARAM.Gravatar Peter Powell2019-06-121-0/+1
* chanhistory: recreate the mode parameter instead of saving it.Gravatar Peter Powell2019-06-121-7/+11
* Some more text fixes and improvements (#1618).Gravatar Robby2019-04-281-1/+1
* Only parse valid durations, don't treat invalid multipliers as seconds (#1538)Gravatar linuxdaemon2018-12-211-2/+2
* Fix conversion issues by replacing ConvToInt with ConvToNum<T>.•••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. Gravatar Peter Powell2018-12-121-1/+1
* Move IsValidDuration into the core.Gravatar Peter Powell2018-11-241-15/+1
* Fix the chanhistory module being inconsistent across servers.•••Closes #331. Gravatar Peter Powell2018-10-011-2/+11
* Add support for the IRCv3 batch specification.•••Co-authored-by: Attila Molnar <attilamolnar@hush.com> Gravatar Peter Powell2018-08-131-1/+18
* Add support for the IRCv3 server-time specification.•••Co-authored-by: Attila Molnar <attilamolnar@hush.com> Gravatar Peter Powell2018-08-131-1/+9
* Implement IRCv3 message tag support.•••Co-authored-by: Attila Molnar <attilamolnar@hush.com> Gravatar Peter Powell2018-08-131-7/+18
* Add ConfigTag::getUInt for reading unsigned config values.Gravatar Peter Powell2018-04-161-1/+1
* Add ERR_INVALIDMODEPARAM for responding to invalid mode params.•••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. Gravatar Peter Powell2018-01-291-3/+10
* Rework message handling.•••- 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. Gravatar Peter Powell2018-01-061-4/+4
* Fix m_chanhistory sending the history notice directly to the user.•••Closes #1452. Gravatar Peter Powell2018-01-031-1/+1
* Increase the config default for <chanhistory:maxlines> to 50.Gravatar Peter Powell2017-12-311-1/+1
* Only show a duration in m_chanhistory's notice if one is set.•••Closes #1235. Gravatar Peter Powell2017-12-161-2/+5
* Add the override keyword in places that it is missing.•••GCCs warnings for this are much better than Clangs. Gravatar Peter Powell2017-11-211-1/+1
* Fix a ton of -Wsign-conversion warnings.Gravatar Peter Powell2017-11-171-2/+2
* Reduce std::string::substr() usage•••substr() returns a new string while erase() and assign() modify the existing one Gravatar Attila Molnar2015-01-101-1/+1
* Add ParamModeBase and ParamMode, change all parameter modes to inherit from P...•••- 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 Gravatar Attila Molnar2014-02-151-40/+39
* Automatically register ServiceProviders created by modulesGravatar attilamolnar2013-09-081-6/+0
* Replace OnRehash() with ReadConfig() that is called on boot, on module load a...•••This eliminates the need for calling OnRehash() in init() Gravatar attilamolnar2013-08-301-3/+1
* Option to select if chanhistory is on for botsGravatar Daniel Vassdal2013-08-241-1/+7
* Automatically attach modules to eventsGravatar attilamolnar2013-08-041-2/+0
* Remove $Core and $Mod* comments apart from $ModDep.Gravatar Peter Powell2013-07-041-2/+0
* Replace hardcoded mode letters passed to IsModeSet() and GetModeParameter() w...Gravatar attilamolnar2013-07-011-1/+1
* Call Channel::SetModeParam() from the mode parser when needed instead of requ...Gravatar attilamolnar2013-06-131-2/+0
* Remove OnUserPreNotice and OnUserNotice hooks, add MessageType argument to On...•••All modules (except m_nonotice) that perform filtering on messages have common logic for handling PRIVMSGs and NOTICEs and most of them run the exact same code in both cases Gravatar attilamolnar2013-05-201-2/+2
* Tidy up keywords on module methods.•••- Remove virtual keyword from a ton of methods which don't need it. - Add override keyword to a ton of methods which do need it. Gravatar Peter Powell2013-05-151-5/+5
* Replace some C-isms with C++-isms.•••* 'const char*' to 'const std::string&'. * snprintf to std::string concatenation. * Replace duplicated OneOfMatches with InspIRCd::MatchMask. Gravatar Peter Powell2013-05-151-5/+3
* Add method for writing server notices.•••This allows us to send a server notice to a user without worrying about whether they are registered or not. If a user receives a server notice and they are not registered then the nickname field will contain an asterisk instead of their nick name. Gravatar Peter Powell2013-05-141-2/+1
* Convert InspIRCd::Duration() to be staticGravatar attilamolnar2013-04-031-1/+1
* m_chanhistory Fix durations containing 'S' being rejectedGravatar attilamolnar2013-01-271-2/+2
* Register a few extensions that weren't registeredGravatar attilamolnar2012-12-021-0/+1
* Dynamically determine the size of the eventlist[] passed to Attach()•••m_sqlauth was attached to I_OnUserDisconnect but didn't provide a handler for it, remove Gravatar attilamolnar2012-12-021-1/+1