Add $event->{interpreted} field to events to notify other handlers
whether an event was successfully interpreted by the interpreter.
An $event->{interpreted} that is equal to or greater than 100 means the entire
message was consumed and handlers shouldn't do any further processing of it
that would generate any output to channels or users.
Otherwise, $event->{interpreted} is incremented by 1 for each referenced
command that was processed.
These are different from the loadable factoid modules. The factoid modules
are external executable shell commands that take stdin as arguments and print
to stdout as a return value. As such, they are not integrated into the bot
and cannot make use of the bot's internal subroutines.
These plugins are loaded internally and integrated into the bot such that they
can interface with the bot's internal subroutines and state.
All files in the Pluggable directory not beginning with an underscore will be
automatically loaded at bot start-up.
Plugins (including those starting with an underscore) can be manually loaded
or unloaded with the `plug` and `unplug` commands. Use `pluglist` to list
loaded plugins.
E.g.,
<pragma-> Userbob: You can learn more about candide by reading its !help page and checking out its !source
<candide> Userbob: To learn all about me, see http://www.iso-9899.info/wiki/Candide
<candide> Userbob: My guts can be browsed at https://github.com/pragma-/pbot
Only three triggers will be processed per message. (I should create a
registry entry to customize this.)
Messages that are addressed at a specific user that exists in the channel will
have that user's name prepended to the factoid output.
Factoid triggers that are referenced from within messages will not produce
error messages if the factoid is not found.
Factoids that have an $arg or $nick special variable will not be triggered as
a reference.
Factoids that have the `noembed` meta-data value set to a true value will not
be invoked as a reference.