lscanbot/src/server.js

74 lines
2.0 KiB
JavaScript
Raw Permalink Normal View History

2018-09-24 21:21:53 +02:00
const TeleBot = require('telebot');
2020-05-13 00:59:15 +02:00
const appConfig = require('../config.json');
2018-09-24 21:21:53 +02:00
const scanner = require('./scanner.js');
const utils = require('./utils.js');
const logger = require('./logger.js');
const bot = new TeleBot(appConfig.app.token);
bot.on('/start', (msg) => {
bot.sendMessage(msg.from.id, utils.templateStart(), { parseMode: 'Markdown' });
if (utils.isAuthorizedUser(msg.from.id)) {
bot.event('/help', msg);
} else {
bot.sendMessage(msg.from.id, utils.templateUnauthorizedUser(), { parseMode: 'Markdown' });
}
});
bot.on('/help', (msg) => {
if (utils.isAuthorizedUser(msg.from.id)) {
bot.sendMessage(msg.from.id, utils.templateHelp(), { parseMode: 'Markdown' });
}
});
bot.on('/scan', (msg) => {
if (utils.isAuthorizedUser(msg.from.id)) {
scanner.scanNetwork(msg.from.id)
2019-02-12 22:15:43 +01:00
.then((devices) => {
bot.sendMessage(msg.from.id, utils.templateDevicesList(devices), { parseMode: 'Markdown' } );
2018-09-24 21:21:53 +02:00
})
.catch((err) => {
msg.reply.text('Error, check the error.log');
logger.logError(err);
});
}
});
bot.on('/inventory', (msg) => {
if (utils.isAuthorizedUser(msg.from.id)) {
scanner.getInventoryNetwork()
.then((inventory) => {
bot.sendMessage(msg.from.id, utils.templateInventoryList(inventory), { parseMode: 'Markdown' });
})
.catch((err) => {
msg.reply.text('Error, check the error.log');
logger.logError(err);
});
}
});
bot.on(/^\/add (.+)$/, (msg, props) => {
if (utils.isAuthorizedUser(msg.from.id)) {
const textArgs = props.match[1];
const arrArgs = textArgs.split(';').map(item => item.trim());
scanner.addDeviceToTrack(arrArgs);
}
});
bot.on(/^\/remove (.+)$/, (msg, props) => {
if (utils.isAuthorizedUser(msg.from.id)) {
const textArgs = props.match[1];
const arrArgs = textArgs.split(';').map(item => item.trim());
scanner.removeDeviceToTrack(arrArgs[0]);
}
});
2019-02-12 22:15:43 +01:00
bot.on('/me', (msg) => {
msg.reply.text(`⚠️ My UID: ${msg.from.id}`);
2018-09-24 21:21:53 +02:00
});
scanner.initScannerDB();
// bot start
bot.start();