|
|
const TelegramBot = require('node-telegram-bot-api');
var express = require("express"), app = express(), bodyParser = require("body-parser"), methodOverride = require("method-override");
const config = require('./config');
let chatId = ''; // only one chatid
const bot = new TelegramBot(config.telegramToken, {polling: true}); bot.onText(/\/start/, (msg, match) => { console.log('chatId', chatId); if(chatId) { // only allow one chatId
} else { chatId = msg.chat.id; console.log('chatId', chatId); var msg = `
Wellcome to commonroutesTelegramBot. Available commands: /start /pong New messages will be send when new travels are published `;
bot.sendMessage(chatId, msg); } });
bot.onText(/\/ping/, (msg, match) => { if(chatId) { let msg = `pong
Bot alive.`;
bot.sendMessage(chatId, msg); } });
var newtravelHandler = function(req, res) { console.log(req.body); let msg = `
New ` + req.body.type + ` travel published: - 📣 title: ` + req.body.title + ` - 📄 description: ` + req.body.description + ` - 🌏 from: ` + req.body.from.name + ` - 🌍 to: ` + req.body.to.name + ` - 📆 date: ` + req.body.date + ` - 💺 seats: ` + req.body.seats;
if(req.body.package) { msg += `
- 📦 can carry package`;
}
msg += `
📱 Check all the info in the app, or in the web visualizer https://routes.fair.coop/app/#!/travel/` + req.body._id + `
`;
bot.sendMessage(chatId, msg);
res.status(200).jsonp({}); }
// API
var apiRoutes = express.Router();
app.use(bodyParser.urlencoded({ extended: false })); app.use(bodyParser.json()); app.use(methodOverride());
apiRoutes.route('/travel') .post(newtravelHandler);
app.use('/api', apiRoutes); app.listen(config.port, 'localhost', function() { console.log("Node server running on http://localhost:" + config.port); });
|