aboutsummaryrefslogtreecommitdiff
path: root/src/modules/m_chanhistory.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Extract history sending logic in chanhistory to its own function.Gravatar Peter Powell2019-07-211-23/+30
|
* Split ServerEventListener into {Broadcast,Link,Sync}EventListener.Gravatar Peter Powell2019-07-151-2/+2
| | | | | | | | 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
* 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>.Gravatar Peter Powell2018-12-121-1/+1
| | | | | | | 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.
* Move IsValidDuration into the core.Gravatar Peter Powell2018-11-241-15/+1
|
* Fix the chanhistory module being inconsistent across servers.Gravatar Peter Powell2018-10-011-2/+11
| | | | Closes #331.
* Add support for the IRCv3 batch specification.Gravatar Peter Powell2018-08-131-1/+18
| | | | Co-authored-by: Attila Molnar <attilamolnar@hush.com>
* Add support for the IRCv3 server-time specification.Gravatar Peter Powell2018-08-131-1/+9
| | | | Co-authored-by: Attila Molnar <attilamolnar@hush.com>
* Implement IRCv3 message tag support.Gravatar Peter Powell2018-08-131-7/+18
| | | | Co-authored-by: Attila Molnar <attilamolnar@hush.com>
* Add ConfigTag::getUInt for reading unsigned config values.Gravatar Peter Powell2018-04-161-1/+1
|
* Add ERR_INVALIDMODEPARAM for responding to invalid mode params.Gravatar Peter Powell2018-01-291-3/+10
| | | | | | | | | | | | | | | 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.
* Fix m_chanhistory sending the history notice directly to the user.Gravatar Peter Powell2018-01-031-1/+1
| | | | Closes #1452.
* 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.Gravatar Peter Powell2017-12-161-2/+5
| | | | Closes #1235.
* 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.
* Fix a ton of -Wsign-conversion warnings.Gravatar Peter Powell2017-11-171-2/+2
|
* Reduce std::string::substr() usageGravatar Attila Molnar2015-01-101-1/+1
| | | | substr() returns a new string while erase() and assign() modify the existing one
* Add ParamModeBase and ParamMode, change all parameter modes to inherit from ↵Gravatar Attila Molnar2014-02-151-40/+39
| | | | | | | | | | 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
* Automatically register ServiceProviders created by modulesGravatar attilamolnar2013-09-081-6/+0
|
* Replace OnRehash() with ReadConfig() that is called on boot, on module load ↵Gravatar attilamolnar2013-08-301-3/+1
| | | | | | and on rehash This eliminates the need for calling OnRehash() in init()
* 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() ↵Gravatar attilamolnar2013-07-011-1/+1
| | | | with ModeHandlers, part 1
* Call Channel::SetModeParam() from the mode parser when needed instead of ↵Gravatar attilamolnar2013-06-131-2/+0
| | | | requiring mode handlers to do it
* Remove OnUserPreNotice and OnUserNotice hooks, add MessageType argument to ↵Gravatar attilamolnar2013-05-201-2/+2
| | | | | | OnUserMessage and OnUserPreMessage 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
* Tidy up keywords on module methods.Gravatar Peter Powell2013-05-151-5/+5
| | | | | - 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.
* Replace some C-isms with C++-isms.Gravatar Peter Powell2013-05-151-5/+3
| | | | | | * 'const char*' to 'const std::string&'. * snprintf to std::string concatenation. * Replace duplicated OneOfMatches with InspIRCd::MatchMask.
* Add method for writing server notices.Gravatar Peter Powell2013-05-141-2/+1
| | | | | | | | | 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.
* 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()Gravatar attilamolnar2012-12-021-1/+1
| | | | m_sqlauth was attached to I_OnUserDisconnect but didn't provide a handler for it, remove
* m_chanhistory Read the boolean config entry with getBool()Gravatar attilamolnar2012-07-121-1/+1
|
* m_halfop, m_chanhistory Remove redundant ModeParser::DelMode() calls, the ↵Gravatar attilamolnar2012-07-121-5/+0
| | | | modes are deleted automatically on unload
* m_chanhistory Keep history when changing parametersGravatar attilamolnar2012-06-171-1/+15
|
* m_chanhistory Don't allow durations that contain an invalid char or too longGravatar attilamolnar2012-06-171-4/+23
|
* m_chanhistory Add config setting to show/hide the informational notice ↵Gravatar attilamolnar2012-06-171-3/+14
| | | | before playing back history, don't playback to remote users
* Replace copyright headers with headers granting specific authors copyrightGravatar Robby-2012-04-191-8/+14
|
* Prevent setting mode -H if already unset, bug #74Gravatar Daniel De Graaf2010-08-281-0/+2
|
* Add <chanhistory:maxlines> to specify the maximum allowed size of channel ↵Gravatar danieldg2010-02-171-5/+19
| | | | | | history git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12488 e03df62e-2008-0410-955e-edbf42e46eb7
* Deny identical mode +H changeGravatar danieldg2010-02-151-0/+2
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12466 e03df62e-2008-0410-955e-edbf42e46eb7
* Move chanhistory to PostJoin hookGravatar danieldg2010-02-091-2/+2
| | | | | | | While irssi is currently able to show the lines sent prior to join, it is better for this module to work on all clients without modification. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12407 e03df62e-2008-0410-955e-edbf42e46eb7
* Remove VF_COMMON from mode-provider modules (no longer needed due to better ↵Gravatar danieldg2010-01-151-1/+1
| | | | | | CAPAB checking) git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12263 e03df62e-2008-0410-955e-edbf42e46eb7
* ...because every now and again, i have to do a massive commit.Gravatar brain2010-01-111-1/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12248 e03df62e-2008-0410-955e-edbf42e46eb7