UNPKG

19.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', JSON.stringify(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 (answers.limit) {
364 list = list.slice(0, answers.limit);
365 }
366 _context6.next = 16;
367 return regeneratorRuntime.awrap(T.extra.fullUserMessage(list, answers.message).length);
368
369 case 16:
370 msgCount = _context6.sent;
371
372 clearInterval(msg);
373 console.log(' ' + _clor2.default.green('Persons posted ' + msgCount + ' messages '));
374 _context6.next = 22;
375 break;
376
377 case 21:
378 console.log('' + _clor2.default.red('Come back when he decided to take a message..'));
379
380 case 22:
381 _context6.next = 28;
382 break;
383
384 case 24:
385 _context6.prev = 24;
386 _context6.t0 = _context6['catch'](1);
387
388 log(_context6.t0);
389 process.exit(1); // eslint-disable-line xo/no-process-exit
390
391 case 28:
392 _context6.next = 31;
393 break;
394
395 case 30:
396 console.log('' + _clor2.default.red('First, you must define an account [ > twitbot new]'));
397
398 case 31:
399 case 'end':
400 return _context6.stop();
401 }
402 }
403 }, null, _this, [[1, 24]]);
404 })();
405 break;
406 case 'unfollow':
407 (function _callee7() {
408 var answers, confd, T, msg, fullListids, result;
409 return regeneratorRuntime.async(function _callee7$(_context7) {
410 while (1) {
411 switch (_context7.prev = _context7.next) {
412 case 0:
413 if (!util.checkUser()) {
414 _context7.next = 25;
415 break;
416 }
417
418 _context7.prev = 1;
419 _context7.next = 4;
420 return regeneratorRuntime.awrap(util.prompt('unfollowlist'));
421
422 case 4:
423 answers = _context7.sent;
424 confd = util.getUser(answers.select_account);
425 T = new _twitbotCore2.default(confd);
426
427 if (!(answers.type === 'Yes')) {
428 _context7.next = 17;
429 break;
430 }
431
432 msg = util.spinnerMsg('Twitbot working.. ');
433 _context7.next = 11;
434 return regeneratorRuntime.awrap(T.extra.fullFollowers());
435
436 case 11:
437 fullListids = _context7.sent;
438 _context7.next = 14;
439 return regeneratorRuntime.awrap(T.extra.fullUserDestroy(fullListids));
440
441 case 14:
442 result = _context7.sent;
443
444 clearInterval(msg);
445 console.log('' + _clor2.default.red(result.length + ' users unfollowed..'));
446
447 case 17:
448 _context7.next = 23;
449 break;
450
451 case 19:
452 _context7.prev = 19;
453 _context7.t0 = _context7['catch'](1);
454
455 log(_context7.t0);
456 process.exit(1); // eslint-disable-line xo/no-process-exit
457
458 case 23:
459 _context7.next = 26;
460 break;
461
462 case 25:
463 console.log('' + _clor2.default.red('First, you must define an account [ > twitbot new]'));
464
465 case 26:
466 case 'end':
467 return _context7.stop();
468 }
469 }
470 }, null, _this, [[1, 19]]);
471 })();
472 break;
473 case 'watch':
474 (function _callee9() {
475 return regeneratorRuntime.async(function _callee9$(_context9) {
476 while (1) {
477 switch (_context9.prev = _context9.next) {
478 case 0:
479 if (!util.checkUser()) {
480 _context9.next = 12;
481 break;
482 }
483
484 _context9.prev = 1;
485 _context9.next = 4;
486 return regeneratorRuntime.awrap(function _callee8() {
487 var query, confd, takip, favorite, username, lang, actionList, actionBlacklist, answers, extraMiddleware, T, blocks, stream, msg;
488 return regeneratorRuntime.async(function _callee8$(_context8) {
489 while (1) {
490 switch (_context8.prev = _context8.next) {
491 case 0:
492 query = null;
493 confd = null;
494 takip = null;
495 favorite = null;
496 username = null;
497 lang = null;
498 actionList = [];
499 actionBlacklist = [];
500
501 if (!(extra.noPrompt || extra.account || extra.query)) {
502 _context8.next = 17;
503 break;
504 }
505
506 confd = util.getUser(extra.account);
507 query = extra.query.split(',');
508 username = extra.account;
509 if (extra.follow) {
510 takip = extra.follow;
511 }
512 if (extra.favorite) {
513 favorite = extra.favorite;
514 }
515 if (extra.lang) {
516 lang = extra.lang;
517 } else {
518 lang = 'none';
519 }
520 _context8.next = 26;
521 break;
522
523 case 17:
524 _context8.next = 19;
525 return regeneratorRuntime.awrap(util.prompt('watch'));
526
527 case 19:
528 answers = _context8.sent;
529
530 confd = util.getUser(answers.select_account);
531 query = answers.keywords.split(',');
532 username = answers.select_account;
533 takip = answers.follow;
534 favorite = answers.favorite;
535 lang = answers.lang;
536
537 case 26:
538
539 if (extra.src) {
540 extraMiddleware = require(extra.src);
541
542 if (extraMiddleware.use) {
543 actionList.push(extraMiddleware.use());
544 }
545
546 if (extraMiddleware.blacklist) {
547 actionBlacklist.push(extraMiddleware.blacklist(extra));
548 }
549 }
550
551 if (takip === 'Yes') {
552 actionList.push(util.actionUserFollow());
553 }
554
555 if (favorite === 'Yes') {
556 actionList.push(util.actionFavorite());
557 }
558
559 T = new _twitbotCore2.default(confd);
560 _context8.next = 32;
561 return regeneratorRuntime.awrap(T.extra.fullBlocks());
562
563 case 32:
564 blocks = _context8.sent;
565
566
567 if (lang !== 'none') {
568 actionBlacklist.push(util.okActionLanguage(lang));
569 }
570
571 actionBlacklist.push(util.notActionHimself(username));
572 actionBlacklist.push(util.notActionBlocks(blocks));
573
574 stream = T.tweetStream({ track: query });
575 msg = util.spinnerMsg('Twitbot working.. ');
576
577 stream.on('tweet', function (twet) {
578 util.control(twet, actionBlacklist).then(function (result) {
579 if (result) {
580 util.action(twet, extra, T, actionList);
581 }
582 }).catch(function (err) {
583 // Houston we have a problem
584 log(err);
585 });
586 });
587
588 stream.on('disconnect', function (disconnectMessage) {
589 clearInterval(msg);
590 console.log(disconnectMessage);
591 stream.start();
592 });
593
594 case 40:
595 case 'end':
596 return _context8.stop();
597 }
598 }
599 }, null, _this);
600 }());
601
602 case 4:
603 _context9.next = 10;
604 break;
605
606 case 6:
607 _context9.prev = 6;
608 _context9.t0 = _context9['catch'](1);
609
610 log(_context9.t0);
611 process.exit(1); // eslint-disable-line xo/no-process-exit
612
613 case 10:
614 _context9.next = 13;
615 break;
616
617 case 12:
618 console.log('' + _clor2.default.red('First, you must define an account [ > twitbot new]'));
619
620 case 13:
621 case 'end':
622 return _context9.stop();
623 }
624 }
625 }, null, _this, [[1, 6]]);
626 })();
627 break;
628 case 'use':
629 (function _callee10() {
630 var src, account, args, confd, T, extraMiddleware, middleware;
631 return regeneratorRuntime.async(function _callee10$(_context10) {
632 while (1) {
633 switch (_context10.prev = _context10.next) {
634 case 0:
635 if (util.checkUser()) {
636 try {
637 if (extra.src && extra.account) {
638 src = extra.src;
639 account = extra.account;
640 args = (0, _object2.default)(extra, ['src']);
641 confd = util.getUser(account);
642 T = new _twitbotCore2.default(confd);
643 extraMiddleware = require(src);
644
645
646 if (extraMiddleware.use) {
647 middleware = extraMiddleware.use();
648
649 middleware = middleware.call(T, args);
650 }
651 } else {
652 console.log('' + _clor2.default.red(' --src=~/hello --account=johndoe '));
653 }
654 } catch (err) {
655 log(err);
656 process.exit(1); // eslint-disable-line xo/no-process-exit
657 }
658 } else {
659 console.log('' + _clor2.default.red('First, you must define an account [ > twitbot new]'));
660 }
661
662 case 1:
663 case 'end':
664 return _context10.stop();
665 }
666 }
667 }, null, _this);
668 })();
669 break;
670 case 'version':
671 console.log(version);
672 break;
673 case 'help':
674 console.log(util.help());
675 break;
676 default:
677 console.log(util.help());
678 }
679};
680
681var _clor = require('clor');
682
683var _clor2 = _interopRequireDefault(_clor);
684
685var _loudRejection = require('loud-rejection');
686
687var _loudRejection2 = _interopRequireDefault(_loudRejection);
688
689var _twitbotCore = require('twitbot-core');
690
691var _twitbotCore2 = _interopRequireDefault(_twitbotCore);
692
693var _twitbotUtil = require('twitbot-util');
694
695var util = _interopRequireWildcard(_twitbotUtil);
696
697var _object = require('object.omit');
698
699var _object2 = _interopRequireDefault(_object);
700
701var _debug = require('debug');
702
703var _debug2 = _interopRequireDefault(_debug);
704
705function _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; } }
706
707function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
708
709var log = (0, _debug2.default)('twitbot:cli');
710(0, _loudRejection2.default)();
711
712module.exports = exports['default'];
\No newline at end of file