while (1) {
switch (_context.prev = _context.next) {
case 0:
checkPrefix = function checkPrefix(text, prefix) {
return text.search(prefix) === 0;
};
getMsg = function getMsg(message_ids) {
return _this2.API.call('messages.getById', { message_ids: message_ids }).then(function (res) {
return res.items[0];
});
};
/* let chatId = update[3]
let msgId = update[1]
let body = update[6]
let extra = update[7] */
_update = _slicedToArray(update, 8), msgId = _update[1], chatId = _update[3], body = _update[6], extra = _update[7];
isChat = chatId > 2e9;
handled = false;
// для чатов
if (!(isChat && (!this.chats.length || this.chats.includes(chatId)
// чатов нет ^ чат в списке разрешенных ^
) && (!this.prefix || checkPrefix(body, this.prefix)
// ^ префикса нет ^ начинается с префикса
))) {
_context.next = 38;
break;
}
if (!this.msgType) {
_context.next = 10;
break;
}
_context.t0 = update;
_context.next = 13;
break;
case 10:
_context.next = 12;
return getMsg(msgId);
case 12:
_context.t0 = _context.sent;
case 13:
msg = _context.t0;
this.emit('message', msg);
if (!body) {
_context.next = 36;
break;
}
_iteratorNormalCompletion = true;
_didIteratorError = false;
_iteratorError = undefined;
_context.prev = 19;
for (_iterator = this.textRegexpCallbacks[Symbol.iterator](); !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
r = _step.value;
result = r.regexp.exec(body);
if (result) {
handled = true;
r.callback(msg, result);
}
}
_context.next = 27;
break;
case 23:
_context.prev = 23;
_context.t1 = _context['catch'](19);
_didIteratorError = true;
_iteratorError = _context.t1;
case 27:
_context.prev = 27;
_context.prev = 28;
if (!_iteratorNormalCompletion && _iterator.return) {
_iterator.return();
}
case 30:
_context.prev = 30;
if (!_didIteratorError) {
_context.next = 33;
break;
}
throw _iteratorError;
case 33:
return _context.finish(30);
case 34:
return _context.finish(27);
case 35:
if (!handled) this.emit('unhandled', msg);
case 36:
_context.next = 81;
break;
case 38:
if (!( // для спец.сообщений типа создания чата или изменения его названия
isChat && (!this.chats.length || this.chats.includes(chatId)) && extra.source_act // если сообщение специальное
)) {
_context.next = 50;
break;
}
if (!this.msgType) {
_context.next = 43;
break;
}
_context.t2 = update;
_context.next = 46;
break;
case 43:
_context.next = 45;
return getMsg(msgId);
case 45:
_context.t2 = _context.sent;
case 46:
_msg = _context.t2;
this.emit(extra.source_act, _msg);
_context.next = 81;
break;
case 50:
if (!( // для пользоватей
!isChat && (!this.chats.length || this.chats.includes(chatId)) && (this.prefixOnlyForGroups || checkPrefix(body, this.prefix))
// ^ если префикс только для групп или начинается с префикса ^
)) {
_context.next = 81;
break;
}
if (!this.msgType) {
_context.next = 55;
break;
}
_context.t3 = update;
_context.next = 58;
break;
case 55:
_context.next = 57;
return getMsg(msgId);
case 57:
_context.t3 = _context.sent;
case 58:
_msg2 = _context.t3;
this.emit('message', _msg2);
if (!body) {
_context.next = 81;
break;
}
_iteratorNormalCompletion2 = true;
_didIteratorError2 = false;
_iteratorError2 = undefined;
_context.prev = 64;
for (_iterator2 = this.textRegexpCallbacks[Symbol.iterator](); !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {
_r = _step2.value;
_result = _r.regexp.exec(body);
if (_result) {
handled = true;
_r.callback(_msg2, _result);
}
}
_context.next = 72;
break;
case 68:
_context.prev = 68;
_context.t4 = _context['catch'](64);
_didIteratorError2 = true;
_iteratorError2 = _context.t4;
case 72:
_context.prev = 72;
_context.prev = 73;
if (!_iteratorNormalCompletion2 && _iterator2.return) {
_iterator2.return();
}
case 75:
_context.prev = 75;
if (!_didIteratorError2) {
_context.next = 78;
break;
}
throw _iteratorError2;
case 78:
return _context.finish(75);
case 79:
return _context.finish(72);
case 80:
if (!handled) this.emit('unhandled', _msg2);
case 81:
case 'end':
return _context.stop();
}
}
Comments