|
| 1 | +"use strict"; |
| 2 | +var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { |
| 3 | + function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } |
| 4 | + return new (P || (P = Promise))(function (resolve, reject) { |
| 5 | + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } |
| 6 | + function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } |
| 7 | + function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } |
| 8 | + step((generator = generator.apply(thisArg, _arguments || [])).next()); |
| 9 | + }); |
| 10 | +}; |
| 11 | +var __asyncValues = (this && this.__asyncValues) || function (o) { |
| 12 | + if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined."); |
| 13 | + var m = o[Symbol.asyncIterator], i; |
| 14 | + return m ? m.call(o) : (o = typeof __values === "function" ? __values(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i); |
| 15 | + function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; } |
| 16 | + function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); } |
| 17 | +}; |
| 18 | +Object.defineProperty(exports, "__esModule", { value: true }); |
| 19 | +const vk_io_1 = require("vk-io"); |
| 20 | +// токен пользователя |
| 21 | +const TOKEN = 'token'; |
| 22 | +// группа где будем удалять комментарии |
| 23 | +const VK_ID_GROUP = 0; |
| 24 | +// чьи комментарии будем удалять |
| 25 | +const VK_ID_MY = 0; |
| 26 | +const vk = new vk_io_1.VK({ token: TOKEN }); |
| 27 | +const getPosts = (offset = 0) => __awaiter(void 0, void 0, void 0, function* () { |
| 28 | + const getPostsGroup = yield vk.api.wall.get({ |
| 29 | + owner_id: VK_ID_GROUP, |
| 30 | + offset |
| 31 | + }); |
| 32 | + return getPostsGroup.items; |
| 33 | +}); |
| 34 | +const getCommentsPost = (postId, offset = 0) => __awaiter(void 0, void 0, void 0, function* () { |
| 35 | + const getComments = yield vk.api.wall.getComments({ |
| 36 | + post_id: postId, |
| 37 | + owner_id: VK_ID_GROUP, |
| 38 | + count: 100, |
| 39 | + offset |
| 40 | + }); |
| 41 | + if (offset === 0 && getComments.count > 100) { |
| 42 | + console.log(`Комментариев к записи больше 100, получаю еще.`); |
| 43 | + for (let i = offset; i < getComments.count; i += 100) { |
| 44 | + const getComAdd = getCommentsPost(postId, i); |
| 45 | + getComments.items.push(getComAdd); |
| 46 | + } |
| 47 | + } |
| 48 | + return getComments; |
| 49 | +}); |
| 50 | +const checkMyCommentPost = (comments) => { var comments_1, comments_1_1; return __awaiter(void 0, void 0, void 0, function* () { |
| 51 | + var e_1, _a; |
| 52 | + console.log('Проверка комментариев'); |
| 53 | + try { |
| 54 | + for (comments_1 = __asyncValues(comments); comments_1_1 = yield comments_1.next(), !comments_1_1.done;) { |
| 55 | + const comment = comments_1_1.value; |
| 56 | + if (!(comment === null || comment === void 0 ? void 0 : comment.id)) |
| 57 | + return; |
| 58 | + console.log(`Запись: id` + (comment === null || comment === void 0 ? void 0 : comment.post_id)); |
| 59 | + if (comment.from_id == VK_ID_MY) { |
| 60 | + yield deleteComment(comment.id); |
| 61 | + } |
| 62 | + } |
| 63 | + } |
| 64 | + catch (e_1_1) { e_1 = { error: e_1_1 }; } |
| 65 | + finally { |
| 66 | + try { |
| 67 | + if (comments_1_1 && !comments_1_1.done && (_a = comments_1.return)) yield _a.call(comments_1); |
| 68 | + } |
| 69 | + finally { if (e_1) throw e_1.error; } |
| 70 | + } |
| 71 | +}); }; |
| 72 | +const deleteComment = (commentId) => __awaiter(void 0, void 0, void 0, function* () { |
| 73 | + var _a; |
| 74 | + try { |
| 75 | + const deleteCom = yield vk.api.wall.deleteComment({ |
| 76 | + owner_id: VK_ID_GROUP, |
| 77 | + comment_id: commentId |
| 78 | + }); |
| 79 | + if (deleteCom === 1) |
| 80 | + console.log(`Комментарий ${commentId} удален`); |
| 81 | + else |
| 82 | + console.log(`Комментарий ${commentId} вернул другой ответ. ${deleteCom}`); |
| 83 | + } |
| 84 | + catch (error) { |
| 85 | + // @ts-ignore |
| 86 | + if (error && (error === null || error === void 0 ? void 0 : error.message)) |
| 87 | + console.error(`Ошибка удаления комментария id${commentId}. Message: ${(_a = error === null || error === void 0 ? void 0 : error.message) !== null && _a !== void 0 ? _a : 'текста нет'}`); |
| 88 | + } |
| 89 | +}); |
| 90 | +const start = () => __awaiter(void 0, void 0, void 0, function* () { |
| 91 | + let offset = 100; |
| 92 | + while (offset < 734) { |
| 93 | + const startPost = yield getPosts(offset); |
| 94 | + console.log(`Offset: ${offset}`); |
| 95 | + for (const post of startPost) { |
| 96 | + if (!(post === null || post === void 0 ? void 0 : post.id)) |
| 97 | + return; |
| 98 | + yield getCommentsPost(post.id).then((comments) => __awaiter(void 0, void 0, void 0, function* () { |
| 99 | + console.log(`Запускаю проверку по полученным комментариям, количество ${comments.count}`); |
| 100 | + yield checkMyCommentPost(comments.items); |
| 101 | + })); |
| 102 | + } |
| 103 | + offset += 100; |
| 104 | + } |
| 105 | +}); |
| 106 | +start().then(r => console.log('Запускаюсь')); |
0 commit comments