Add support for Airgram

Airgram requires a POST over HTTPS, which is not possible with the "url" service so it has been introduced as a service on its own.
This commit is contained in:
Frank Klaassen 2014-01-22 19:47:33 +01:00
parent 90594e0764
commit f2ba291fc7
2 changed files with 22 additions and 1 deletions

5
README.md Normal file → Executable file
View File

@ -11,6 +11,7 @@ conditions. ZNC Push current supports the following services:
* [Prowl][]
* [Supertoasty][]
* [PushBullet][]
* [Airgram][]
* Custom URL GET requests
This project is still a Work In Progress, but should be functional enough and stable enough
@ -212,6 +213,7 @@ to something similar to "http://domain/#channel/2011-03-09 14:25:09", or
* "prowl"
* "supertoasty"
* "pushbullet"
* "airgram"
* "url"
* `username = ""`
@ -233,7 +235,7 @@ to something similar to "http://domain/#channel/2011-03-09 14:25:09", or
When using Pushover, this option allows you to specify a single device name to send
notifications to; if blank or unset, notifications will be sent to all devices.
This option must be set when using PushBullet.
This option must be set when using PushBullet and Airgram.
### Notifications
@ -414,6 +416,7 @@ This project is licensed under the MIT license. See the `LICENSE` file for deta
[Prowl]: http://www.prowlapp.com
[Supertoasty]: http://www.supertoasty.com
[PushBullet]: https://www.pushbullet.com/
[Airgram]: http://airgramapp.com/
[issues]: http://github.com/jreese/znc-push/issues
[ZNC]: http://en.znc.in "ZNC, an advanced IRC bouncer"

18
push.cpp Normal file → Executable file
View File

@ -456,6 +456,20 @@ class CPushMod : public CModule
i->second = expand(i->second, replace);
}
}
else if (service == "airgram")
{
if (options["target"] == "")
{
PutModule("Error: target (email) not set");
return;
}
service_host = "api.airgramapp.com";
service_url = "/1/send_as_guest";
params["email"] = options["target"];
params["msg"] = message_content;
}
else
{
PutModule("Error: service type not selected");
@ -1083,6 +1097,10 @@ class CPushMod : public CModule
else if (value == "url")
{
PutModule("Note: URL requires setting the 'message_uri' option with the full URL");
}
else if (value == "airgram")
{
PutModule("Note: Airgram requires setting the 'target' with the email address of the recipient");
}
else
{