forked from ralozkolya/san-siro
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathapp.js
More file actions
35 lines (28 loc) · 1 KB
/
app.js
File metadata and controls
35 lines (28 loc) · 1 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
const https = require('https');
const fs = require('fs');
const express = require('express');
const bodyParser = require('body-parser');
const createError = require('http-errors');
require('dotenv').config();
const parseRequest = require('./src/parse-request');
const handleMessage = require('./src/handle-message');
const sendMessages = require('./src/sender');
const token = process.env.TG_TOKEN;
const port = process.env.PORT || 8443;
const app = express();
app.use(bodyParser.json());
app.post(`/${token}`, async (req, res, next) => {
res.status(204).end();
try {
const parsed = parseRequest(req.body);
console.log(`Got message: ${parsed.user_id}`);
const messages = handleMessage(parsed);
await sendMessages(messages, parsed.chat_id);
} catch (e) {
console.log(e.message);
}
});
https.createServer({
key: fs.readFileSync('./cert/privkey1.pem'),
cert: fs.readFileSync('./cert/fullchain1.pem'),
}, app).listen(port, () => console.log(`Listening to port '${port}'`));