aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoranekos2013-09-25 20:13:16 +0900
committeranekos2013-09-25 20:13:16 +0900
commit96fa68a3a9d56e697a8d8e765a327aefc6f6eff0 (patch)
treea9c16e64d9ae885b379a5df114e9779f831cdbda
parent4526f7ec3099b07f343d463b9a495f4e91c653ac (diff)
downloadvimperator-plugins-96fa68a3a9d56e697a8d8e765a327aefc6f6eff0.tar.bz2
Pebble notification
-rw-r--r--twittperator/pebble.tw37
1 files changed, 37 insertions, 0 deletions
diff --git a/twittperator/pebble.tw b/twittperator/pebble.tw
new file mode 100644
index 0000000..1feb454
--- /dev/null
+++ b/twittperator/pebble.tw
@@ -0,0 +1,37 @@
+/*
+ * Please write the below line into .vimperatorrc.
+ * let g:twittperator_plugin_pebble = 1
+ * let g:twittperator_plugin_pebble_user_id = '<USER_ID>';
+ * let g:twittperator_plugin_pebble_user_token = '<USER_TOKEN>';
+ * let g:twittperator_screen_name = "<YOUR_SCREEN_NAME>"
+ */
+
+(function () {
+ let screenName = liberator.globalVariables.twittperator_screen_name;
+ let userId = liberator.globalVariables.twittperator_plugin_pebble_user_id;
+ let userToken = liberator.globalVariables.twittperator_plugin_pebble_user_token;
+
+ function notify (username) {
+ let body = [
+ 'userId=' + userId,
+ 'userToken=' + userToken,
+ 'title=Twitter',
+ 'body=' + encodeURIComponent('reply from ' + username),
+ 'type=notification'].join('&');
+
+ let xhr = new XMLHttpRequest();
+ xhr.open('POST', 'https://ofkorth.net/pebble/send', true, null, null);
+ xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
+
+ xhr.send(body);
+ }
+
+ plugins.twittperator.ChirpUserStream.addListener(
+ function onMsg (msg, raw) {
+ if (msg.text && msg.user && msg.in_reply_to_screen_name === screenName)
+ notify(msg.user.screen_name, msg.text);
+ }
+ );
+})();
+
+// vim: sw=2 ts=2 et fdm=marker ft=javascript: