UNPKG

7.7 kBJavaScriptView Raw
1"use strict";
2
3var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
5Object.defineProperty(exports, "__esModule", {
6 value: true
7});
8exports["default"] = exports.VkBotProvider = void 0;
9
10var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
11
12var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
13
14var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
15
16var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
17
18var _get2 = _interopRequireDefault(require("@babel/runtime/helpers/get"));
19
20var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
21
22var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
23
24var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
25
26var _botsProvider = _interopRequireDefault(require("@lskjs/bots-provider"));
27
28var _err = _interopRequireDefault(require("@lskjs/err"));
29
30var _get3 = _interopRequireDefault(require("lodash/get"));
31
32var _nodeVkBotApi = _interopRequireDefault(require("node-vk-bot-api"));
33
34function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
35
36function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
37
38var VkBotProvider = /*#__PURE__*/function (_BaseBotProvider) {
39 (0, _inherits2["default"])(VkBotProvider, _BaseBotProvider);
40
41 var _super = _createSuper(VkBotProvider);
42
43 function VkBotProvider() {
44 var _this;
45
46 (0, _classCallCheck2["default"])(this, VkBotProvider);
47
48 for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
49 args[_key] = arguments[_key];
50 }
51
52 _this = _super.call.apply(_super, [this].concat(args));
53 _this.provider = 'vk';
54 _this.config = void 0;
55 return _this;
56 }
57
58 (0, _createClass2["default"])(VkBotProvider, [{
59 key: "init",
60 value: function () {
61 var _init = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
62 return _regenerator["default"].wrap(function _callee$(_context) {
63 while (1) {
64 switch (_context.prev = _context.next) {
65 case 0:
66 _context.next = 2;
67 return (0, _get2["default"])((0, _getPrototypeOf2["default"])(VkBotProvider.prototype), "init", this).call(this);
68
69 case 2:
70 if (this.config.token) {
71 _context.next = 4;
72 break;
73 }
74
75 throw new _err["default"]('VkBotProvider !config.token');
76
77 case 4:
78 this.client = new _nodeVkBotApi["default"](this.config.token); // this.client.use(async (ctx, next) => {
79 // try {
80 // await next();
81 // } catch (err) {
82 // this.log.error(err);
83 // }
84 // });
85
86 case 5:
87 case "end":
88 return _context.stop();
89 }
90 }
91 }, _callee, this);
92 }));
93
94 function init() {
95 return _init.apply(this, arguments);
96 }
97
98 return init;
99 }()
100 }, {
101 key: "run",
102 value: function () {
103 var _run = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2() {
104 var _this2 = this;
105
106 return _regenerator["default"].wrap(function _callee2$(_context2) {
107 while (1) {
108 switch (_context2.prev = _context2.next) {
109 case 0:
110 _context2.next = 2;
111 return (0, _get2["default"])((0, _getPrototypeOf2["default"])(VkBotProvider.prototype), "run", this).call(this);
112
113 case 2:
114 if (this.client) {
115 _context2.next = 4;
116 break;
117 }
118
119 return _context2.abrupt("return");
120
121 case 4:
122 _context2.next = 6;
123 return this.initEventEmitter();
124
125 case 6:
126 _context2.next = 8;
127 return new Promise(function (resolve, reject) {
128 _this2.client.startPolling(function (err) {
129 _this2.log.error(err);
130
131 if (err) return reject();
132 return resolve(_this2.client);
133 });
134 });
135
136 case 8:
137 case "end":
138 return _context2.stop();
139 }
140 }
141 }, _callee2, this);
142 }));
143
144 function run() {
145 return _run.apply(this, arguments);
146 }
147
148 return run;
149 }()
150 }, {
151 key: "initEventEmitter",
152 value: function () {
153 var _initEventEmitter = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee3() {
154 var _this3 = this;
155
156 return _regenerator["default"].wrap(function _callee3$(_context3) {
157 while (1) {
158 switch (_context3.prev = _context3.next) {
159 case 0:
160 this.client.on(function () {
161 for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
162 args[_key2] = arguments[_key2];
163 }
164
165 _this3.emit.apply(_this3, ['message'].concat(args));
166 });
167
168 case 1:
169 case "end":
170 return _context3.stop();
171 }
172 }
173 }, _callee3, this);
174 }));
175
176 function initEventEmitter() {
177 return _initEventEmitter.apply(this, arguments);
178 }
179
180 return initEventEmitter;
181 }()
182 }, {
183 key: "isMessageCommand",
184 value: function isMessageCommand(ctx, command) {
185 return this.isMessageStartsWith(ctx, "/".concat(command));
186 }
187 }, {
188 key: "getMessageText",
189 value: function getMessageText() {
190 var ctx = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
191 if (typeof ctx === 'string') return ctx;
192 return (0, _get3["default"])(ctx, 'message.text');
193 }
194 }, {
195 key: "getMessageType",
196 value: function getMessageType(ctx) {
197 var type = (0, _get3["default"])(ctx, 'message.type');
198 if (type === 'message_new') return 'text';
199 return null;
200 }
201 }, {
202 key: "sendMessage",
203 value: function sendMessage(ctx) {
204 var _this$client;
205
206 for (var _len3 = arguments.length, args = new Array(_len3 > 1 ? _len3 - 1 : 0), _key3 = 1; _key3 < _len3; _key3++) {
207 args[_key3 - 1] = arguments[_key3];
208 }
209
210 return (_this$client = this.client).sendMessage.apply(_this$client, [(0, _get3["default"])(ctx, 'message.from_id')].concat(args));
211 }
212 }]);
213 return VkBotProvider;
214}(_botsProvider["default"]);
215
216exports.VkBotProvider = VkBotProvider;
217var _default = VkBotProvider;
218exports["default"] = _default;
219//# sourceMappingURL=VkBotProvider.js.map
\No newline at end of file