initial commit, added basically all basic functionality

This commit is contained in:
jangxx 2017-07-18 20:14:27 +02:00
commit 8ef218c1ec
4 changed files with 98 additions and 0 deletions

3
.gitignore vendored Normal file
View File

@ -0,0 +1,3 @@
node_modules
config.json
friends.txt

13
config.example.json Normal file
View File

@ -0,0 +1,13 @@
{
"pushover": {
"user": "",
"token": ""
},
"ts-notify": {
"address": "localhost",
"port": 6000,
"friendly_name": "",
"apikey": ""
},
"follow_file": ""
}

63
index.js Normal file
View File

@ -0,0 +1,63 @@
const io = require('socket.io-client');
const push = require('pushover-notifications');
const util = require('util');
const fs = require('fs');
const configjson = require('./config.example.json');
const ts_notify = configjson["ts-notify"];
var p = new push({
user: configjson.pushover.user,
token: configjson.pushover.token
});
var address = "http://" + ts_notify.address + ":" + ts_notify.port;
var socket = io(address);
socket.on('connect', function() {
util.log("Connected to " + address);
socket.emit('apiaccess', ts_notify.apikey);
});
socket.on('event', function(evt) {
var friends = [];
if(configjson.follow_file != undefined || fs.existsSync(configjson.follow_file)) {
try {
var follow_file = fs.readFileSync(configjson.follow_file, {encoding: "UTF-8"});
friends = follow_file.trim().split('\n');
} catch(e) {
util.log("Error while reading friends file: " + err.message);
return;
}
}
if(friends.indexOf(evt.uid) != -1) {
util.log(evt.name + " " + evt.status);
var message = evt.name + " " + evt.status;
if (ts_notify.friendly_name != undefined || ts_notify.friendly_name != "") {
if (evt.status == "connected") {
message += " to ";
} else if (evt.status == "disconnected") {
message += " from ";
} else {
message += " at ";
}
message += ts_notify.friendly_name;
}
p.send({
message: message
}, function(err, result) {
if(err) {
util.log("Error while sending push: " + err.message);
}
});
}
});
function htmlEntities(str) {
return String(str).replace(/&/g, '&amp;').replace(/</g, '&lt;').replace(/>/g, '&gt;').replace(new RegExp('"', 'g'), '&quot;');
}

19
package.json Normal file
View File

@ -0,0 +1,19 @@
{
"name": "ts-notify-pushover",
"version": "1.0.0",
"description": "Provides a link between the ts-notify-server and the Pushover service",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"repository": {
"type": "git",
"url": "git@j4ns.de:git/ts-notify-pushover.git"
},
"author": "jangxx <janscheiper95@gmail.com> (http://www.jangxx.com)",
"license": "ISC",
"dependencies": {
"pushover-notifications": "^0.2.4",
"socket.io-client": "^2.0.3"
}
}