mirror of
git://git.acid.vegas/anope.git
synced 2024-11-14 11:46:42 +00:00
35 lines
1.4 KiB
Plaintext
35 lines
1.4 KiB
Plaintext
|
Anope Internal Events
|
||
|
---------------------
|
||
|
|
||
|
1) Intro
|
||
|
2) Using Events
|
||
|
|
||
|
1) Introduction to Internal Events
|
||
|
|
||
|
Internal Events are setup to give module developers more information
|
||
|
about what the core is doing at different times. This information can
|
||
|
be as complex as data we are feeding to the uplink, to simple triggered
|
||
|
events such as the databases being saved.
|
||
|
|
||
|
Additionally there is a module included with the core
|
||
|
which can provide some clue as to how to use the code in your modules.
|
||
|
The rest of this document assumes that you are used to writing modules.
|
||
|
|
||
|
2) Using Events
|
||
|
|
||
|
Each Event in Anope calls a function.
|
||
|
You must override these functions in your main modules class.
|
||
|
The full list of functions and parameters are in modules.h. In this
|
||
|
case, you would be overriding OnJoinChannel() and OnPartChannel() like so:
|
||
|
|
||
|
void OnJoinChannel(User *u, Channel *c) anope_override { }
|
||
|
void OnPartChannel(User *u, Channel *c) anope_override { }
|
||
|
|
||
|
Some of these event overrides can be used to prevent or allow things to
|
||
|
happen that would normally not be allowed or denied. You can also use
|
||
|
ModuleManager (not explained here) to set control which order the modules
|
||
|
are queried (when multiple modules hook to the same event).
|
||
|
|
||
|
The "anope_override" identifier is for compatibility with C++11.
|
||
|
Its usage is highly recommended.
|