Advertisement
Guest User

Untitled

a guest
Sep 16th, 2019
92
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. const express = require('express');
  2. const bodyParser = require('body-parser');
  3. const axios = require('axios');
  4. const genderDetector = require('gender-detection');
  5. const { transliterate } = require('transliterations');
  6.  
  7. const replies = {
  8.   male: (name) => `...сказал ${name} и снял штаны`,
  9.   female: (name) => `...сказала ${name} и сняла штаны`,
  10.   unknown: (name) => `...сказало ${name} и сняло штаны`,
  11. };
  12.  
  13. const app = express();
  14.  
  15. app.use(bodyParser.json());
  16.  
  17. app.use(bodyParser.urlencoded({
  18.   extended: true,
  19. }));
  20.  
  21. app.post('/new-message', (req, res) => {
  22.   const { message } = req.body;
  23.   const { from, chat, text, message_id } = message;
  24.   const pattern = /^.+(\.\.\.)|(\(\(\()|(\)\)\))|(\!)$/m;
  25.   if (!message || !text || !pattern.test(text)) {
  26.     return res.end();
  27.   }
  28.  
  29.   const gender = genderDetector.detect(
  30.     transliterate(`${from.first_name} ${from.last_name}`),
  31.   ) || 'unknown';
  32.  
  33.   const reply = replies[gender](from.first_name);
  34.  
  35.   axios.post('https://api.telegram.org/bot805132947:AAE7HTBhRNgTGXM
  36. FtqjPWHZMwYAgz-7BR-s/sendMessage', {
  37.     chat_id: chat.id,
  38.     reply_to_message_id: message_id,
  39.     text: reply,
  40.   }).then((response) => {
  41.     res.end('ok');
  42.   }).catch((err) => {
  43.     console.log('Error :', err);
  44.     res.end('Error :' + err);
  45.   });
  46. });
  47.  
  48. app.listen(3000);
  49. [ec2-user@ip-172-
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement