UNPKG

19.8 kBJavaScriptView Raw
1'use strict';
2
3Object.defineProperty(exports, "__esModule", {
4 value: true
5});
6
7exports.default = function (cmd, extra, version) {
8 var _this = this;
9
10 switch (cmd) {
11 case 'profile':
12 (function _callee() {
13 var result, answers, _result;
14
15 return regeneratorRuntime.async(function _callee$(_context) {
16 while (1) {
17 switch (_context.prev = _context.next) {
18 case 0:
19 _context.prev = 0;
20
21 if (!extra.import) {
22 _context.next = 8;
23 break;
24 }
25
26 _context.next = 4;
27 return regeneratorRuntime.awrap(util.settingsSave('users', require(extra.import).users));
28
29 case 4:
30 result = _context.sent;
31
32 console.log(' ' + _clor2.default.green(result));
33 _context.next = 19;
34 break;
35
36 case 8:
37 if (!extra.export) {
38 _context.next = 12;
39 break;
40 }
41
42 console.log(JSON.stringify(util.twitbotSettings.get()));
43 _context.next = 19;
44 break;
45
46 case 12:
47 _context.next = 14;
48 return regeneratorRuntime.awrap(util.prompt('config'));
49
50 case 14:
51 answers = _context.sent;
52 _context.next = 17;
53 return regeneratorRuntime.awrap(util.settingsSave('users:' + answers.username, answers));
54
55 case 17:
56 _result = _context.sent;
57
58 console.log(' ' + _clor2.default.green(_result));
59
60 case 19:
61 _context.next = 25;
62 break;
63
64 case 21:
65 _context.prev = 21;
66 _context.t0 = _context['catch'](0);
67
68 log(_context.t0);
69 process.exit(1); // eslint-disable-line xo/no-process-exit
70
71 case 25:
72 case 'end':
73 return _context.stop();
74 }
75 }
76 }, null, _this, [[0, 21]]);
77 })();
78 break;
79 case 'search':
80 (function _callee3() {
81 return regeneratorRuntime.async(function _callee3$(_context3) {
82 while (1) {
83 switch (_context3.prev = _context3.next) {
84 case 0:
85 if (!util.checkUser()) {
86 _context3.next = 12;
87 break;
88 }
89
90 _context3.prev = 1;
91 _context3.next = 4;
92 return regeneratorRuntime.awrap(function _callee2() {
93 var answers, confd, T, msg, twetList, favoriteList, userList, blocks, checkBlock, checkName, check;
94 return regeneratorRuntime.async(function _callee2$(_context2) {
95 while (1) {
96 switch (_context2.prev = _context2.next) {
97 case 0:
98 _context2.next = 2;
99 return regeneratorRuntime.awrap(util.prompt('search'));
100
101 case 2:
102 answers = _context2.sent;
103 confd = util.getUser(answers.select_account);
104 T = new _twitbotCore2.default(confd);
105 msg = util.spinnerMsg('Twitbot working.. ');
106 _context2.next = 8;
107 return regeneratorRuntime.awrap(T.extra.fullSearch({ q: answers.keyword, takip_sayi: answers.takip_sayi, lang: answers.lang }));
108
109 case 8:
110 twetList = _context2.sent;
111 favoriteList = null;
112 userList = null;
113 _context2.next = 13;
114 return regeneratorRuntime.awrap(T.extra.fullBlocks());
115
116 case 13:
117 blocks = _context2.sent;
118 checkBlock = util.notActionBlocks(blocks);
119 checkName = util.notActionHimself(answers.select_account);
120 check = twetList.filter(function (twet) {
121 return checkName(twet) !== false;
122 }).filter(function (twet) {
123 return checkBlock(twet) !== false;
124 }).slice(0, answers.takip_sayi);
125
126
127 userList = check.map(function (twet) {
128 return twet.user.id_str;
129 });
130 favoriteList = check.map(function (twet) {
131 return twet.id_str;
132 });
133
134 if (!(answers.takip === 'Yes')) {
135 _context2.next = 23;
136 break;
137 }
138
139 _context2.next = 22;
140 return regeneratorRuntime.awrap(T.extra.fullUserFollow(userList));
141
142 case 22:
143 userList = _context2.sent;
144
145 case 23:
146 if (!(answers.favorite === 'Yes')) {
147 _context2.next = 27;
148 break;
149 }
150
151 _context2.next = 26;
152 return regeneratorRuntime.awrap(T.extra.fullFavoriteList(favoriteList));
153
154 case 26:
155 favoriteList = _context2.sent;
156
157 case 27:
158
159 clearInterval(msg);
160 console.log(' ' + _clor2.default.green('Transactions completed.'));
161 if (answers.takip === 'Yes') {
162 console.log(' ' + _clor2.default.yellow(userList.length + ' people were followed.')); // check userList error
163 }
164 if (answers.favorite === 'Yes') {
165 console.log(' ' + _clor2.default.yellow(favoriteList.length + ' tweets favorite added.')); // check favoriteList error
166 }
167
168 case 31:
169 case 'end':
170 return _context2.stop();
171 }
172 }
173 }, null, _this);
174 }());
175
176 case 4:
177 _context3.next = 10;
178 break;
179
180 case 6:
181 _context3.prev = 6;
182 _context3.t0 = _context3['catch'](1);
183
184 log(_context3.t0);
185 process.exit(1); // eslint-disable-line xo/no-process-exit
186
187 case 10:
188 _context3.next = 13;
189 break;
190
191 case 12:
192 console.log('' + _clor2.default.red('First, you must define an account [ > twitbot new]'));
193
194 case 13:
195 case 'end':
196 return _context3.stop();
197 }
198 }
199 }, null, _this, [[1, 6]]);
200 })();
201 break;
202 case 'unfavorite':
203 (function _callee4() {
204 var _ref, select_account, confd, T, msg, favoriteList;
205
206 return regeneratorRuntime.async(function _callee4$(_context4) {
207 while (1) {
208 switch (_context4.prev = _context4.next) {
209 case 0:
210 if (!util.checkUser()) {
211 _context4.next = 24;
212 break;
213 }
214
215 _context4.prev = 1;
216 _context4.next = 4;
217 return regeneratorRuntime.awrap(util.prompt('accountlist'));
218
219 case 4:
220 _ref = _context4.sent;
221 select_account = _ref.select_account;
222 confd = util.getUser(select_account);
223 T = new _twitbotCore2.default(confd);
224 msg = util.spinnerMsg('Twitbot working.. ');
225 _context4.next = 11;
226 return regeneratorRuntime.awrap(T.extra.fullFavorites());
227
228 case 11:
229 favoriteList = _context4.sent;
230 _context4.next = 14;
231 return regeneratorRuntime.awrap(T.extra.fullDestoryFavorite(favoriteList.map(function (item) {
232 return item.id_str;
233 })));
234
235 case 14:
236 clearInterval(msg);
237 console.log(' ' + _clor2.default.green('All favorites removed'));
238 _context4.next = 22;
239 break;
240
241 case 18:
242 _context4.prev = 18;
243 _context4.t0 = _context4['catch'](1);
244
245 log(_context4.t0);
246 process.exit(1); // eslint-disable-line xo/no-process-exit
247
248 case 22:
249 _context4.next = 25;
250 break;
251
252 case 24:
253 console.log('' + _clor2.default.red('First, you must define an account [ > twitbot new]'));
254
255 case 25:
256 case 'end':
257 return _context4.stop();
258 }
259 }
260 }, null, _this, [[1, 18]]);
261 })();
262 break;
263 case 'flush':
264 (function _callee5() {
265 var users, answers, msg;
266 return regeneratorRuntime.async(function _callee5$(_context5) {
267 while (1) {
268 switch (_context5.prev = _context5.next) {
269 case 0:
270 if (!util.checkUser()) {
271 _context5.next = 24;
272 break;
273 }
274
275 users = util.getUsers();
276 answers = null;
277 _context5.prev = 3;
278
279 if (!extra.noPrompt) {
280 _context5.next = 8;
281 break;
282 }
283
284 answers = extra;
285 _context5.next = 11;
286 break;
287
288 case 8:
289 _context5.next = 10;
290 return regeneratorRuntime.awrap(util.prompt('accountlist'));
291
292 case 10:
293 answers = _context5.sent;
294
295 case 11:
296 delete users[answers.select_account];
297 _context5.next = 14;
298 return regeneratorRuntime.awrap(util.settingsSave('users', users));
299
300 case 14:
301 msg = _context5.sent;
302
303 console.log(' ' + _clor2.default.green(msg));
304 _context5.next = 22;
305 break;
306
307 case 18:
308 _context5.prev = 18;
309 _context5.t0 = _context5['catch'](3);
310
311 log(_context5.t0);
312 process.exit(1); // eslint-disable-line xo/no-process-exit
313
314 case 22:
315 _context5.next = 25;
316 break;
317
318 case 24:
319 console.log('' + _clor2.default.red('First, you must define an account [ > twitbot new]'));
320
321 case 25:
322 case 'end':
323 return _context5.stop();
324 }
325 }
326 }, null, _this, [[3, 18]]);
327 })();
328 break;
329 case 'message':
330 (function _callee6() {
331 var answers, confd, T, msg, followersList, list, msgCount;
332 return regeneratorRuntime.async(function _callee6$(_context6) {
333 while (1) {
334 switch (_context6.prev = _context6.next) {
335 case 0:
336 if (!util.checkUser()) {
337 _context6.next = 30;
338 break;
339 }
340
341 _context6.prev = 1;
342 _context6.next = 4;
343 return regeneratorRuntime.awrap(util.prompt('messagelist'));
344
345 case 4:
346 answers = _context6.sent;
347 confd = util.getUser(answers.select_account);
348 T = new _twitbotCore2.default(confd);
349 msg = util.spinnerMsg('Twitbot working.. ');
350
351 if (!(answers.send === 'Yes' && answers.message)) {
352 _context6.next = 21;
353 break;
354 }
355
356 _context6.next = 11;
357 return regeneratorRuntime.awrap(T.extra.fullFollowers());
358
359 case 11:
360 followersList = _context6.sent;
361 list = followersList.ids;
362
363 if (extra.blacklist) {
364 (function () {
365 var blocksids = answers.blacklist.split(',');
366 list.filter(function (id) {
367 return blocksids.indexOf(id) === -1;
368 });
369 })();
370 }
371 _context6.next = 16;
372 return regeneratorRuntime.awrap(T.extra.fullUserMessage(list, answers.message).length);
373
374 case 16:
375 msgCount = _context6.sent;
376
377 clearInterval(msg);
378 console.log(' ' + _clor2.default.green('Persons posted ' + msgCount + ' messages '));
379 _context6.next = 22;
380 break;
381
382 case 21:
383 console.log('' + _clor2.default.red('Come back when he decided to take a message..'));
384
385 case 22:
386 _context6.next = 28;
387 break;
388
389 case 24:
390 _context6.prev = 24;
391 _context6.t0 = _context6['catch'](1);
392
393 log(_context6.t0);
394 process.exit(1); // eslint-disable-line xo/no-process-exit
395
396 case 28:
397 _context6.next = 31;
398 break;
399
400 case 30:
401 console.log('' + _clor2.default.red('First, you must define an account [ > twitbot new]'));
402
403 case 31:
404 case 'end':
405 return _context6.stop();
406 }
407 }
408 }, null, _this, [[1, 24]]);
409 })();
410 break;
411 case 'unfollow':
412 (function _callee7() {
413 var answers, confd, T, msg, fullListids, result;
414 return regeneratorRuntime.async(function _callee7$(_context7) {
415 while (1) {
416 switch (_context7.prev = _context7.next) {
417 case 0:
418 if (!util.checkUser()) {
419 _context7.next = 25;
420 break;
421 }
422
423 _context7.prev = 1;
424 _context7.next = 4;
425 return regeneratorRuntime.awrap(util.prompt('unfollowlist'));
426
427 case 4:
428 answers = _context7.sent;
429 confd = util.getUser(answers.select_account);
430 T = new _twitbotCore2.default(confd);
431
432 if (!(answers.type === 'Yes')) {
433 _context7.next = 17;
434 break;
435 }
436
437 msg = util.spinnerMsg('Twitbot working.. ');
438 _context7.next = 11;
439 return regeneratorRuntime.awrap(T.extra.fullFollowers());
440
441 case 11:
442 fullListids = _context7.sent;
443 _context7.next = 14;
444 return regeneratorRuntime.awrap(T.extra.fullUserDestroy(fullListids));
445
446 case 14:
447 result = _context7.sent;
448
449 clearInterval(msg);
450 console.log('' + _clor2.default.red(result.length + ' users unfollowed..'));
451
452 case 17:
453 _context7.next = 23;
454 break;
455
456 case 19:
457 _context7.prev = 19;
458 _context7.t0 = _context7['catch'](1);
459
460 log(_context7.t0);
461 process.exit(1); // eslint-disable-line xo/no-process-exit
462
463 case 23:
464 _context7.next = 26;
465 break;
466
467 case 25:
468 console.log('' + _clor2.default.red('First, you must define an account [ > twitbot new]'));
469
470 case 26:
471 case 'end':
472 return _context7.stop();
473 }
474 }
475 }, null, _this, [[1, 19]]);
476 })();
477 break;
478 case 'watch':
479 (function _callee9() {
480 return regeneratorRuntime.async(function _callee9$(_context9) {
481 while (1) {
482 switch (_context9.prev = _context9.next) {
483 case 0:
484 if (!util.checkUser()) {
485 _context9.next = 12;
486 break;
487 }
488
489 _context9.prev = 1;
490 _context9.next = 4;
491 return regeneratorRuntime.awrap(function _callee8() {
492 var query, confd, takip, favorite, username, lang, actionList, actionBlacklist, answers, extraMiddleware, T, blocks, stream, msg;
493 return regeneratorRuntime.async(function _callee8$(_context8) {
494 while (1) {
495 switch (_context8.prev = _context8.next) {
496 case 0:
497 query = null;
498 confd = null;
499 takip = null;
500 favorite = null;
501 username = null;
502 lang = null;
503 actionList = [];
504 actionBlacklist = [];
505
506 if (!(extra.noPrompt || extra.account || extra.query)) {
507 _context8.next = 17;
508 break;
509 }
510
511 confd = util.getUser(extra.account);
512 query = extra.query.split(',');
513 username = extra.account;
514 if (extra.follow) {
515 takip = extra.follow;
516 }
517 if (extra.favorite) {
518 favorite = extra.favorite;
519 }
520 if (extra.lang) {
521 lang = extra.lang;
522 } else {
523 lang = 'none';
524 }
525 _context8.next = 26;
526 break;
527
528 case 17:
529 _context8.next = 19;
530 return regeneratorRuntime.awrap(util.prompt('watch'));
531
532 case 19:
533 answers = _context8.sent;
534
535 confd = util.getUser(answers.select_account);
536 query = answers.keywords.split(',');
537 username = answers.select_account;
538 takip = answers.follow;
539 favorite = answers.favorite;
540 lang = answers.lang;
541
542 case 26:
543
544 if (extra.src) {
545 extraMiddleware = require(extra.src);
546
547 if (extraMiddleware.use) {
548 actionList.push(extraMiddleware.use());
549 }
550
551 if (extraMiddleware.blacklist) {
552 actionBlacklist.push(extraMiddleware.blacklist(extra));
553 }
554 }
555
556 if (takip === 'Yes') {
557 actionList.push(util.actionUserFollow());
558 }
559
560 if (favorite === 'Yes') {
561 actionList.push(util.actionFavorite());
562 }
563
564 T = new _twitbotCore2.default(confd);
565 _context8.next = 32;
566 return regeneratorRuntime.awrap(T.extra.fullBlocks());
567
568 case 32:
569 blocks = _context8.sent;
570
571
572 if (lang !== 'none') {
573 actionBlacklist.push(util.okActionLanguage(lang));
574 }
575
576 actionBlacklist.push(util.notActionHimself(username));
577 actionBlacklist.push(util.notActionBlocks(blocks));
578
579 stream = T.tweetStream({ track: query });
580 msg = util.spinnerMsg('Twitbot working.. ');
581
582 stream.on('tweet', function (twet) {
583 util.control(twet, actionBlacklist).then(function (result) {
584 if (result) {
585 util.action(twet, extra, T, actionList);
586 }
587 }).catch(function (err) {
588 // Houston we have a problem
589 log(err);
590 });
591 });
592
593 stream.on('disconnect', function (disconnectMessage) {
594 clearInterval(msg);
595 console.log(disconnectMessage);
596 stream.start();
597 });
598
599 case 40:
600 case 'end':
601 return _context8.stop();
602 }
603 }
604 }, null, _this);
605 }());
606
607 case 4:
608 _context9.next = 10;
609 break;
610
611 case 6:
612 _context9.prev = 6;
613 _context9.t0 = _context9['catch'](1);
614
615 log(_context9.t0);
616 process.exit(1); // eslint-disable-line xo/no-process-exit
617
618 case 10:
619 _context9.next = 13;
620 break;
621
622 case 12:
623 console.log('' + _clor2.default.red('First, you must define an account [ > twitbot new]'));
624
625 case 13:
626 case 'end':
627 return _context9.stop();
628 }
629 }
630 }, null, _this, [[1, 6]]);
631 })();
632 break;
633 case 'use':
634 (function _callee10() {
635 var src, account, args, confd, T, extraMiddleware, middleware;
636 return regeneratorRuntime.async(function _callee10$(_context10) {
637 while (1) {
638 switch (_context10.prev = _context10.next) {
639 case 0:
640 if (util.checkUser()) {
641 try {
642 if (extra.src && extra.account) {
643 src = extra.src;
644 account = extra.account;
645 args = (0, _object2.default)(extra, ['src']);
646 confd = util.getUser(account);
647 T = new _twitbotCore2.default(confd);
648 extraMiddleware = require(src);
649
650
651 if (extraMiddleware.use) {
652 middleware = extraMiddleware.use();
653
654 middleware = middleware.call(T, args);
655 }
656 } else {
657 console.log('' + _clor2.default.red(' --src=~/hello --account=johndoe '));
658 }
659 } catch (err) {
660 log(err);
661 process.exit(1); // eslint-disable-line xo/no-process-exit
662 }
663 } else {
664 console.log('' + _clor2.default.red('First, you must define an account [ > twitbot new]'));
665 }
666
667 case 1:
668 case 'end':
669 return _context10.stop();
670 }
671 }
672 }, null, _this);
673 })();
674 break;
675 case 'version':
676 console.log(version);
677 break;
678 case 'help':
679 console.log(util.help());
680 break;
681 default:
682 console.log(util.help());
683 }
684};
685
686var _clor = require('clor');
687
688var _clor2 = _interopRequireDefault(_clor);
689
690var _loudRejection = require('loud-rejection');
691
692var _loudRejection2 = _interopRequireDefault(_loudRejection);
693
694var _twitbotCore = require('twitbot-core');
695
696var _twitbotCore2 = _interopRequireDefault(_twitbotCore);
697
698var _twitbotUtil = require('twitbot-util');
699
700var util = _interopRequireWildcard(_twitbotUtil);
701
702var _object = require('object.omit');
703
704var _object2 = _interopRequireDefault(_object);
705
706var _debug = require('debug');
707
708var _debug2 = _interopRequireDefault(_debug);
709
710function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }
711
712function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
713
714var log = (0, _debug2.default)('twitbot:cli');
715(0, _loudRejection2.default)();
716
717module.exports = exports['default'];
\No newline at end of file