summaryrefslogtreecommitdiff
path: root/src/modules.cpp
AgeCommit message (Collapse)Author
2018-11-15Fix the OnSendWhoLine event being completely broken with WHOX.Peter Powell
2018-09-11Amend OnPostCommand to specify whether the command is loopcalled.Peter Powell
This restores previous behaviour which was lost when the original line parameter was removed.
2018-08-14Rename OnChangeLocalUserHost to OnPreChangeHost for consistency.Peter Powell
2018-08-14Remove the OnInfo event.Peter Powell
This is not used by anything and On{Post,Pre}Command hooks can be used if people really want to add stuff to INFO.
2018-08-13Implement IRCv3 message tag support.Peter Powell
Co-authored-by: Attila Molnar <attilamolnar@hush.com>
2018-08-12Convert AWAY to use cross-module events and clean up slightly.Peter Powell
OnSetAway has been replaced with four events. OnUserPreAway and OnUserPreBack can be used to deny an away state change and/or change the away message of a local user. OnUserAway and OnUserBack allow modules to be notified that a user's away state has changed.
2018-08-10Remove the original line parameter of On{Pre,Post}Command.Peter Powell
In the brave new world of message tags and alternate wire formats this is no longer something that is appropriate to expose. In reality it was only ever used by m_alias which now reconstitutes the command name and parameters into a RFC 1459-style message for whatever it needs to do.
2018-07-30Replace most usages of "name" with "real" or "real name".Peter Powell
2018-07-30Replace most usages of "GECOS" with "real" or "real name".Peter Powell
2018-07-26Use CommandBase::Params instead of std::vector<std::string>.Peter Powell
This is presently a typedef but will soon be replaced with a class that encapsulates both tags and parameters.
2018-04-22Merge tag 'v2.0.26' into master.Peter Powell
2018-04-16Call OnUserMessageBlocked when a PRIVMSG or a NOTICE is blocked.Peter Powell
This is necessary to allow m_ircv3_echomessage to pretend that a message was echoed successfully. This is useful as it doesn't let spammers know that their message was blocked.
2018-04-09Remove swhois messages set in the oper block on deoper.Peter Powell
Closes #1240.
2018-04-08Move OnStats from the core to a cross-module event.Peter Powell
Some core code still exists in the XLine system but this will be replaced when the XLine system is replaced later.
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-12-03Move OnSync{Channel,Network,User} to ServerEventListener.Peter Powell
2017-11-25Convert the remaining things away from the caller/handler API.Peter Powell
2017-11-21Add the override keyword in places that it is missing.Peter Powell
GCCs warnings for this are much better than Clangs.
2017-11-16Add events which are fired when a service is added or deleted.Attila Molnar
2017-10-26ConfigReader: fix compilers optimizing NULL check in ConfigTag::readString()Adam
See: 66f82ccf926aac39273bfc652c85c08080cc9a46 Fixes inspircd/inspircd-extras#110
2017-10-18Clean up OnCleanup.Peter Powell
- Switch to using ExtensionItem::ExtensibleType for the type instead of TargetTypeFlags. - Pass the extensible to OnCleanup as an Extensible pointer instead of a void pointer. - Call OnCleanup for memberships as well as channels and users. - Rewrite event documentation to remove outdated references.
2017-10-18Ignore <module> tags for modules that are already loaded.Peter Powell
This allows us to do user friendly things like loading the alias module in the example alias files.
2016-08-29Unregister modes before unhooking extensions when unloading a moduleAttila Molnar
Listmodes store their list in an extension that must be present when they are unset to show the modes being unset
2016-08-29Deduplicate mode unregistering code in ModuleManager::DoSafeUnload() and ↵Attila Molnar
extract into a method
2016-02-26Send WHO reply numerics with User::WriteNumeric(), pass Numeric::Numeric ↵Attila Molnar
objects to the OnSendWhoLine hook
2016-02-26Return ModResult from the OnSendWhoLine hookAttila Molnar
2016-02-25Introduce Stats::Context, pass it to the OnStats hook and switch all code to itAttila Molnar
2016-02-25Convert WriteNumeric() calls to pass the parameters of the numeric as method ↵Attila Molnar
parameters
2015-12-06Add minimum channel rank and exception list parameters to the OnUserInvite hookAttila Molnar
2015-12-02Merge branch 'master+serviceinit'Attila Molnar
2015-11-26Handle module reloading in core_reloadmodule entirelyAttila Molnar
2015-11-23Implement ExtensionItem::RegisterService()Attila Molnar
2015-11-23Implement ModeHandler::RegisterService()Attila Molnar
2015-11-23Implement Command::RegisterService()Attila Molnar
2015-11-23Add ServiceProvider::RegisterService(), call it from ModuleManager::AddService()Attila Molnar
2015-11-23Extract code that manipulates the ModuleManager::DataProviders map into methodsAttila Molnar
2015-05-22Fix some oversightsAttila Molnar
2015-05-20Allow modules to be called as "foo" instead of "m_foo.so"Attila Molnar
2015-05-12Remove support for non-unloadable (VF_STATIC) modulesAttila Molnar
No module we ship uses this flag and new modules should not use it either to make hotfixing possible
2015-04-28Move OnWhois* events to core_whois, add Whois::ContextAttila Molnar
Remove InspIRCd::SendWhoisLine()
2015-02-15Eliminate constant return value of the all events version of ↵Attila Molnar
ModuleManager::SetPriority()
2015-02-15Remove I_BEGIN from enum ImplementationAttila Molnar
2015-02-11Remove class Event and the OnEvent hookAttila Molnar
2015-02-11Allow dynrefs to have an OnCapture() hookAttila Molnar
2015-02-11Ensure all dynrefs with the same target resolve to the same object when one ↵Attila Molnar
name points to multiple objects
2015-01-10Remove the unused OnGlobalOper hookAttila Molnar
2014-11-01Add stdalgo::isin() and use it to simplify codeAttila Molnar
2014-11-01Add stdalgo::erase() and use it to simplify codeAttila Molnar
2014-09-04Pass Modes::ChangeList references to the OnPreMode hook, make it modifiableAttila Molnar
This gets rid of the duplicated mode parsing logic in m_namedmodes
2014-09-03Pass the modes to the OnMode hook as a Modes::ChangeList, pass ↵Attila Molnar
ModeProcessFlags too