This repository has been archived on 2025-10-29. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
gekko/plugins/kodi.js
2021-06-06 20:25:14 +02:00

69 lines
1.8 KiB
JavaScript

/**
* Created by billymcintosh on 24/12/17.
*/
var _ = require('lodash');
var request = require('request');
var log = require('../core/log.js');
var util = require('../core/util.js');
var config = util.getConfig();
var kodiConfig = config.kodi;
var Kodi = function(done) {
_.bindAll(this);
this.exchange = config.watch.exchange.charAt().toUpperCase() + config.watch.exchange.slice(1)
this.price = 'N/A';
this.done = done;
this.setup();
};
Kodi.prototype.setup = function(done) {
var setupKodi = function (err, result) {
if(kodiConfig.sendMessageOnStart) {
var currency = config.watch.currency;
var asset = config.watch.asset;
var title = "Gekko Started";
var message = `Watching ${this.exchange} - ${currency}/${asset}`;
this.mail(title, message);
} else {
log.debug('Skipping Send message on startup')
}
}
setupKodi.call(this)
};
Kodi.prototype.processCandle = function(candle, done) {
this.price = candle.close;
done();
};
Kodi.prototype.processAdvice = function(advice) {
var title = `Gekko: Going ${advice.recommendation} @ ${this.price}`
var message = `${this.exchange} ${config.watch.currency}/${config.watch.asset}`;
this.mail(title, message);
};
Kodi.prototype.mail = function(title, message, done) {
var options = {
body: `{"jsonrpc":"2.0","method":"GUI.ShowNotification","params":{"title":"${title}","message":"${message}"},"id":1}`,
headers: {
'Content-Type': 'application/json'
},
method: 'POST',
url: kodiConfig.host
}
request(options, (error, response, body) => {
if (!error) {
log.info('Kodi message sent')
} else {
log.debug(`Kodi ${error}`)
}
})
}
module.exports = Kodi;