mirror of https://github.com/SeanOMik/znc-push.git
Merge pull request #65 from rohandhruva/master
Add support for PushBullet device_iden
This commit is contained in:
commit
47b5c589ee
|
@ -233,7 +233,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
|
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.
|
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. This module supports both `device_id` (older, numeric id) and the `device_iden` (newer, alphanumeric id) used by PushBullet. You can find your `device_iden` by navigating to a device page and noting the last part of the URL.
|
||||||
|
|
||||||
### Notifications
|
### Notifications
|
||||||
|
|
||||||
|
|
21
push.cpp
21
push.cpp
|
@ -196,6 +196,18 @@ class CPushMod : public CModule
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Verifies whether a given string contains only numbers.
|
||||||
|
*
|
||||||
|
* @param content String to verify
|
||||||
|
*/
|
||||||
|
bool is_number(const CString& content)
|
||||||
|
{
|
||||||
|
CString::const_iterator it = content.begin();
|
||||||
|
while(it != content.end() && std::isdigit(*it)) ++it;
|
||||||
|
return !content.empty() && it == content.end();
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Send a message to the currently-configured push service.
|
* Send a message to the currently-configured push service.
|
||||||
* Requires (and assumes) that the user has already configured their
|
* Requires (and assumes) that the user has already configured their
|
||||||
|
@ -267,7 +279,14 @@ class CPushMod : public CModule
|
||||||
service_auth = options["secret"] + CString(":");
|
service_auth = options["secret"] + CString(":");
|
||||||
service_auth.Base64Encode();
|
service_auth.Base64Encode();
|
||||||
|
|
||||||
params["device_id"] = options["target"];
|
// Pushbullet uses numeric device_id but they
|
||||||
|
// are transitioning to an alphanumeric device_iden
|
||||||
|
if (is_number(options["target"]))
|
||||||
|
{
|
||||||
|
params["device_id"] = options["target"];
|
||||||
|
} else {
|
||||||
|
params["device_iden"] = options["target"];
|
||||||
|
}
|
||||||
params["type"] = "note";
|
params["type"] = "note";
|
||||||
params["title"] = message_title;
|
params["title"] = message_title;
|
||||||
params["body"] = message_content;
|
params["body"] = message_content;
|
||||||
|
|
Loading…
Reference in New Issue