From f2ba291fc7f675b57d30646c6748586e08006d26 Mon Sep 17 00:00:00 2001 From: Frank Klaassen Date: Wed, 22 Jan 2014 19:47:33 +0100 Subject: [PATCH] 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. --- README.md | 5 ++++- push.cpp | 18 ++++++++++++++++++ 2 files changed, 22 insertions(+), 1 deletion(-) mode change 100644 => 100755 README.md mode change 100644 => 100755 push.cpp diff --git a/README.md b/README.md old mode 100644 new mode 100755 index 987ee81..ee5f97b --- a/README.md +++ b/README.md @@ -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" diff --git a/push.cpp b/push.cpp old mode 100644 new mode 100755 index 582fb2e..168e8f0 --- a/push.cpp +++ b/push.cpp @@ -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 {