When compiling with USE_CURL defined, znc push will use libcurl for
making http requests instead of ZNC's builtin CSocket library. This
enables some advanced features, such as supporting HTTP proxies for
outbound requests.
Currently, building with curl support requires running the following:
make curl=yes clean install
libcurl must already be installed and accessible by default. Otherwise,
it is up to the user to populate CXXFLAGS with the appropriate values so
that znc-buildmod can appropriately find and link libcurl to the module.
Notifo has finally died, so there's no reason to keep its code around
any longer. It's probably also safe to remove the section from the
readme about migrating from the old notifo module that has been gone for
over a year now.
When building znc-push with the makefile, it will modify the
PUSHVERSION define with version info from `git describe`, build the
module, and then reset PUSHVERSION back to "dev". When building
directly from znc-buildmod, this will ensure the version is always just
"dev".
A matching command -- `version` -- has been added to the module which
will simply echo the value of PUSHVERSION at the time of compilation.
Currently enforces either "notifo" or "boxcar", but does not yet change
any behaviors in the rest of the module. Also prevents appending or
prepending to the option value.
Issue #226
In preparation for renaming the project and supparting multiple
notification services, there needs to be a simple method for migrating
user options to the new module name. Using the built-in dictionary
read/write mechanism, migrating to a new module name would be as simple
as issuing `/msg *notifo save foo` and `/msg *notify load foo`.
This option allows customization of the boolean logic used to
determine how conditional values are used to filter notifications for
channel messages. It evaluates as a full boolean logic expression,
including the use of sub-expressions. The default value of "all" will
bypass this evaluation and simply require all conditions to be true.
The expression consists of space-separated tokens in the following grammar:
* expression = expression operator expression | "(" expression ")" | value
* operator = "and" | "or"
* value = "true" | "false" | condition
* condition = <any condition option>
Also implemented EVAL command for testing purposes.