Advertisement
Guest User

Untitled

a guest
Sep 9th, 2016
97
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. 'use strict';
  2.  
  3. const async = require('async');
  4. const vk = new (require('vk-io'));
  5. vk.setting({
  6.     app: 5562610,
  7.     phone: '', // Номер телефона вида 749531116869
  8.     pass: '' // Пароль
  9. });
  10.  
  11. const auth = vk.standloneAuth();
  12.  
  13. auth.run()
  14. .then((token) => {
  15.     console.log('Token:',token);
  16.  
  17.     vk.setToken(token);
  18.  
  19.     return true;
  20. })
  21. .then(() => {
  22.     return vk.stream.fave.getPhotos()
  23. })
  24. .then((likes) => {
  25.     console.log('Кол-во лайкнутых фотографий:',likes.length);
  26.  
  27.     return removeLike('photo',likes);
  28. })
  29. .then(() => {
  30.     return vk.stream.fave.getPosts({
  31.         extended: 0
  32.     });
  33. })
  34. .then((likes) => {
  35.     console.log('Кол-во лайкнутых постов:',likes.length);
  36.  
  37.     return removeLike('post',likes);
  38. })
  39. .then(() => {
  40.     return vk.stream.fave.getVideos({
  41.         extended: 0
  42.     });
  43. })
  44. .then((likes) => {
  45.     console.log('Кол-во лайкнутых видео:',likes.length);
  46.  
  47.     return removeLike('video',likes);
  48. })
  49. .then(() => {
  50.     return vk.stream.audio.get({
  51.         need_user: 0
  52.     });
  53. })
  54. .then((audios) => {
  55.     console.log('Кол-во ваших аудиозаписей:',audios.length);
  56.  
  57.     return eachList(audios,(audio,next) => {
  58.         vk.api.audio.delete({
  59.             audio_id: audio.id,
  60.             owner_id: audio.owner_id
  61.         })
  62.         .then(() => {
  63.             console.log('Аудиозапись'+like.owner_id+'_'+like.id,'удалена!');
  64.  
  65.             next();
  66.         })
  67.         .catch(() => {
  68.             console.log('Не удалось удалить аудиозапись!',type,like.owner_id,like.id);
  69.  
  70.             next();
  71.         });
  72.     });
  73. })
  74. .then(() => {
  75.     return vk.stream.groups.get({
  76.         extended: 0
  77.     });
  78. })
  79. .then((groups) => {
  80.     return eachList(groups,(group,next) => {
  81.         vk.api.groups.leave({
  82.             group_id: group
  83.         })
  84.         .then(() => {
  85.             console.log('Была покинута группа club'+group);
  86.  
  87.             next();
  88.         })
  89.         .catch(() => {
  90.             console.log('Не удалось покинуть группу club'+group);
  91.  
  92.             next();
  93.         });
  94.     });
  95. })
  96. .then(() => {
  97.     return vk.stream.friends.getRequests({
  98.         out: 1
  99.     });
  100. })
  101. .then((subscribes) => {
  102.     console.log('Кол-во подписок на пользователей:',subscribes.length);
  103.  
  104.     return eachList(subscribes,(user,next) => {
  105.         vk.api.friends.delete({
  106.             user_id: user
  107.         })
  108.         .then(() => {
  109.             console.log('Отписались от id'+user);
  110.  
  111.             next();
  112.         })
  113.         .catch(() => {
  114.             console.log('Не удалось отписаться id'+user);
  115.  
  116.             next();
  117.         });
  118.     });
  119. })
  120. .then(() => {
  121.     return vk.stream.wall.get({
  122.         extended: 0
  123.     });
  124. })
  125. .then((posts) => {
  126.     console.log('Кол-во постов пользователя:',posts.length);
  127.  
  128.     return eachList(posts,(post,next) => {
  129.         vk.api.wall.delete({
  130.             id: post.id,
  131.             owner_id: post.owner_id
  132.         })
  133.         .then(() => {
  134.             console.log('Удалили запись post'+post.owner_id+'_'+post.id);
  135.  
  136.             next();
  137.         })
  138.         .catch(() => {
  139.             console.log('Не удалось удалить запись post'+post.owner_id+'_'+post.id);
  140.  
  141.             next();
  142.         });
  143.     });
  144. })
  145. .then(() => {
  146.     console.log('Чистка завершена!');
  147. })
  148. .catch((error) => {
  149.     console.log('Произошла серьезная ошибка!',error);
  150. });
  151.  
  152.  
  153. /**
  154.  * Удаляет лайк по типу
  155.  *
  156.  * @param string type
  157.  * @param array  list
  158.  *
  159.  * @return promise
  160.  */
  161. function removeLike (type,list) {
  162.     return eachList(list,(like,next) => {
  163.         vk.api.likes.delete({
  164.             type: type,
  165.             item_id: like.id,
  166.             owner_id: like.owner_id
  167.         })
  168.         .then(() => {
  169.             console.log('Лайк',type+like.owner_id+'_'+like.id,'удалён!');
  170.  
  171.             next();
  172.         })
  173.         .catch(() => {
  174.             console.log('Не удалось удалить лайк!',type+like.owner_id+'_'+like.id);
  175.  
  176.             next();
  177.         });
  178.     });
  179. }
  180.  
  181. /**
  182.  * Удаляет объект
  183.  *
  184.  * @param array  list
  185.  *
  186.  * @return promise
  187.  */
  188. function eachList (list,callback) {
  189.     return new Promise((resolve) => {
  190.         async.each(
  191.             list,
  192.             callback,
  193.             (error) => {
  194.                 if (!error) {
  195.                     resolve();
  196.                 }
  197.             }
  198.         )
  199.     });
  200. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement