UNPKG

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