gt22

Untitled

Dec 22nd, 2016
275
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1.  while (1) {
  2.             switch (_context.prev = _context.next) {
  3.  
  4.               case 0:
  5.                 checkPrefix = function checkPrefix(text, prefix) {
  6.                   return text.search(prefix) === 0;
  7.                 };
  8.  
  9.                 getMsg = function getMsg(message_ids) {
  10.                   return _this2.API.call('messages.getById', { message_ids: message_ids }).then(function (res) {
  11.                     return res.items[0];
  12.                   });
  13.                 };
  14.  
  15.                 /* let chatId = update[3]
  16.                 let msgId = update[1]
  17.                 let body = update[6]
  18.                 let extra = update[7] */
  19.  
  20.  
  21.                 _update = _slicedToArray(update, 8), msgId = _update[1], chatId = _update[3], body = _update[6], extra = _update[7];
  22.                 isChat = chatId > 2e9;
  23.                 handled = false;
  24.  
  25.                 // для чатов
  26.  
  27.                 if (!(isChat && (!this.chats.length || this.chats.includes(chatId)
  28.                 // чатов нет ^        чат в списке разрешенных ^
  29.                 ) && (!this.prefix || checkPrefix(body, this.prefix)
  30.                 // ^ префикса нет      ^ начинается с префикса
  31.                 ))) {
  32.                   _context.next = 38;
  33.                   break;
  34.                 }
  35.  
  36.                 if (!this.msgType) {
  37.                   _context.next = 10;
  38.                   break;
  39.                 }
  40.  
  41.                 _context.t0 = update;
  42.                 _context.next = 13;
  43.                 break;
  44.  
  45.               case 10:
  46.                 _context.next = 12;
  47.                 return getMsg(msgId);
  48.  
  49.               case 12:
  50.                 _context.t0 = _context.sent;
  51.  
  52.               case 13:
  53.                 msg = _context.t0;
  54.  
  55.  
  56.                 this.emit('message', msg);
  57.  
  58.                 if (!body) {
  59.                   _context.next = 36;
  60.                   break;
  61.                 }
  62.  
  63.                 _iteratorNormalCompletion = true;
  64.                 _didIteratorError = false;
  65.                 _iteratorError = undefined;
  66.                 _context.prev = 19;
  67.  
  68.                 for (_iterator = this.textRegexpCallbacks[Symbol.iterator](); !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
  69.                   r = _step.value;
  70.                   result = r.regexp.exec(body);
  71.  
  72.                   if (result) {
  73.                     handled = true;
  74.                     r.callback(msg, result);
  75.                   }
  76.                 }
  77.                 _context.next = 27;
  78.                 break;
  79.  
  80.               case 23:
  81.                 _context.prev = 23;
  82.                 _context.t1 = _context['catch'](19);
  83.                 _didIteratorError = true;
  84.                 _iteratorError = _context.t1;
  85.  
  86.               case 27:
  87.                 _context.prev = 27;
  88.                 _context.prev = 28;
  89.  
  90.                 if (!_iteratorNormalCompletion && _iterator.return) {
  91.                   _iterator.return();
  92.                 }
  93.  
  94.               case 30:
  95.                 _context.prev = 30;
  96.  
  97.                 if (!_didIteratorError) {
  98.                   _context.next = 33;
  99.                   break;
  100.                 }
  101.  
  102.                 throw _iteratorError;
  103.  
  104.               case 33:
  105.                 return _context.finish(30);
  106.  
  107.               case 34:
  108.                 return _context.finish(27);
  109.  
  110.               case 35:
  111.                 if (!handled) this.emit('unhandled', msg);
  112.  
  113.               case 36:
  114.                 _context.next = 81;
  115.                 break;
  116.  
  117.               case 38:
  118.                 if (!( // для спец.сообщений типа создания чата или изменения его названия
  119.                 isChat && (!this.chats.length || this.chats.includes(chatId)) && extra.source_act // если сообщение специальное
  120.                 )) {
  121.                   _context.next = 50;
  122.                   break;
  123.                 }
  124.  
  125.                 if (!this.msgType) {
  126.                   _context.next = 43;
  127.  
  128.                   break;
  129.                 }
  130.                 _context.t2 = update;
  131.                 _context.next = 46;
  132.  
  133.                 break;
  134.  
  135.               case 43:
  136.                 _context.next = 45;
  137.                 return getMsg(msgId);
  138.  
  139.               case 45:
  140.                 _context.t2 = _context.sent;
  141.  
  142.               case 46:
  143.                 _msg = _context.t2;
  144.  
  145.                 this.emit(extra.source_act, _msg);
  146.                 _context.next = 81;
  147.                 break;
  148.  
  149.               case 50:
  150.                  if (!( // для пользоватей
  151.                 !isChat && (!this.chats.length || this.chats.includes(chatId)) && (this.prefixOnlyForGroups || checkPrefix(body, this.prefix))
  152.                 // ^ если префикс только для групп или начинается с префикса ^
  153.                 )) {
  154.                   _context.next = 81;
  155.                   break;
  156.                 }
  157.  
  158.                 if (!this.msgType) {
  159.                   _context.next = 55;
  160.                   break;
  161.                 }
  162.                 _context.t3 = update;
  163.                 _context.next = 58;
  164.                 break;
  165.  
  166.               case 55:
  167.                 _context.next = 57;
  168.                 return getMsg(msgId);
  169.  
  170.               case 57:
  171.                 _context.t3 = _context.sent;
  172.  
  173.               case 58:
  174.                 _msg2 = _context.t3;
  175.  
  176.                 this.emit('message', _msg2);
  177.  
  178.                 if (!body) {
  179.                   _context.next = 81;
  180.                   break;
  181.                 }
  182.  
  183.                 _iteratorNormalCompletion2 = true;
  184.                 _didIteratorError2 = false;
  185.                 _iteratorError2 = undefined;
  186.                 _context.prev = 64;
  187.                 for (_iterator2 = this.textRegexpCallbacks[Symbol.iterator](); !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {
  188.                   _r = _step2.value;
  189.                   _result = _r.regexp.exec(body);
  190.  
  191.                   if (_result) {
  192.                     handled = true;
  193.                     _r.callback(_msg2, _result);
  194.                   }
  195.                 }
  196.                 _context.next = 72;
  197.                 break;
  198.  
  199.               case 68:
  200.                 _context.prev = 68;
  201.                 _context.t4 = _context['catch'](64);
  202.                 _didIteratorError2 = true;
  203.                 _iteratorError2 = _context.t4;
  204.  
  205.               case 72:
  206.                 _context.prev = 72;
  207.                 _context.prev = 73;
  208.  
  209.                 if (!_iteratorNormalCompletion2 && _iterator2.return) {
  210.                   _iterator2.return();
  211.                 }
  212.  
  213.               case 75:
  214.                 _context.prev = 75;
  215.  
  216.                 if (!_didIteratorError2) {
  217.                   _context.next = 78;
  218.                   break;
  219.                 }
  220.  
  221.                 throw _iteratorError2;
  222.  
  223.               case 78:
  224.                 return _context.finish(75);
  225.  
  226.               case 79:
  227.                 return _context.finish(72);
  228.  
  229.               case 80:
  230.                 if (!handled) this.emit('unhandled', _msg2);
  231.  
  232.               case 81:
  233.               case 'end':
  234.                 return _context.stop();
  235.             }
  236.           }
Advertisement
Add Comment
Please, Sign In to add comment