LINUX.ORG.RU

Поиск и удаление всех комментариев текущего пользователя во ВКонтакте

 , ,


0

3

Нужно разработать приложение, позволяющее:

  1. Авторизоваться во ВКонтакте
  2. Находящее все комментарии текущего авторизованного пользователя везде, кроме его стены
  3. Удаляющее их

Интерфейс приложения на ваше усмотрение - можно CLI, можно GUI. В принципе меня устроит даже если приложение просто выдаст в терминал инструкцию для получения токена авторизации через браузер ручками и копипасту его в терминал, но, разумеется, если вы сделаете это более удобным способом, то это только приветствуется.

Приложение должно быть кроссплатформенным - работать как минимум под Linux и Windows без необходимости установки.

Исходный код приложения следует опубликовать на выбор на GitHub/Bitbucket/что-угодно-где-он-будет-доступен-для-скачивания-без-регистрации. Лицензия на ваше усмотрение любая свободная.

Предлагаемая оплата: 2000 рублей (вероятно, заинтересует в первую очередь студентов) переводом на карту. Если кто-то на форуме испытывает потребность в таком же приложении, то не против скинуться с другими форумчанами и увеличить «зарплатный фонд».

Дополнительные фича №1 (можно не реализовывать, если лень за предложенные деньги): Отображение найденных комментариев с группировкой по их местоположению: стены пользователей, сообщества, видео, фото и т. д. С возможностью отмечать отдельные комментарии или их группы для последующего удаления.

Дополнительная фича №2 (можно не реализовывать, если лень за предложенные деньги): Сохранение удаляемых комментариев в текстовый файл (ссылка на объект, где он был размещён + текст комментария).

Для параноиков не сидящих в соцсетях: зарегистрирую для вас один фейковый аккаунт на левый номер и передам вам логин-пароль для экспериментов. После выполнения работы делайте с ним что хотите.

Перемещено leave из job

★★★★★

Ответ на: комментарий от aol

Вопросы не репутационные, а сугубо в том, чтобы снести комментарии, которые я писал ещё до некоторых неоднозначных изменений законодательства нашей страны. Конечно, можно легко рассудить, что это не имеет смысла и у кого надо есть доступ и к удалённым комментариям, но моему внутреннему параноику так будет спокойнее и приятнее.

KivApple ★★★★★ ()
Последнее исправление: KivApple (всего исправлений: 1)

Я как то делал приложение для vк правда так и не доделал, там oAutch авторизация через libwebkit окошко и через внешний браузер по выбору и несколько попыток играться с API типа, получить последние сообщения. Если найду его в бекапах исходников отпишу. А так, может тебе лучше расширение к браузеру заказать? Вроде как у них было js api, только я хз можно ли через него управлять сообщениями.

Я не подписываюсь на сделку если что. А так, мимокракодил. Поищу исходники, если найду и оно позволит за вечер написать что надо то отпишу. Хотя у них там изменений херова гора врода, мб у меня вообще ничего работать не будет. Тогда не отпишу =)

LINUX-ORG-RU ()
Ответ на: комментарий от LINUX-ORG-RU

А так, может тебе лучше расширение к браузеру заказать?

Я максимально гибок в плане требования к интерфейсу пользователя и языку реализации. Мне главное функционал. В принципе можно и расширение к браузеру (только к хрому или лисе, а не к какой-нибудь экзотике лол), если кому то так будет удобнее. Я не тулкитофоб и не языкофоб, в принципе можно хоть на Electron, хоть на Lisp, лишь бы работало.

KivApple ★★★★★ ()
Последнее исправление: KivApple (всего исправлений: 3)
Ответ на: Предложение от torvn77

Re: Предложение

Это уже учтено в дополнительной фиче №1. При её реализации приложение должно вывести список всех групп, стен пользователей, фотографий и прочих объектов, к которым найдены комментарии. И юзер должен иметь возможность выбрать/снять выбор отдельных элементов.

KivApple ★★★★★ ()
Последнее исправление: KivApple (всего исправлений: 1)

Разве в контакте можно найти вообще все оставленные сообщения? Я, например, не помню, где я оставлял сообщения. Как найти эти альбомы?

i-rinat ★★★★★ ()
Ответ на: комментарий от i-rinat

Вот это и есть самое сложное. Нужно внимательно изучить API и придумать можно ли как-нибудь выдрать все сообщения и как это сделать.

Конечно, самый примитив это пройтись по всем друзьям и всем пабликам, на которые подписал юзер, но что-то скорее всего выпадет из вида.

KivApple ★★★★★ ()
Ответ на: Re: Предложение от KivApple

Я думал ты более простой человек, rm -fr и комментариев в вк нету.

Вообще две тысячи это один восмичасовой рабочии день или 4/3 похода в продуктовый магазин, ты точно уверен что это достаточная оплата за такой шикарный интерфейс?

torvn77 ★★★★★ ()
Ответ на: комментарий от torvn77

Это дополнительная фича необязательная к реализации. Мне самому совесть не позволяет просить за данную сумму в обязательном порядке столько всего. По факту за две тысячи обязательно только то, что описано в начале сообщения. Дополнительные фичи это если реализующий разойдётся и не сможет остановиться :-)

Ну и да, их тоже можно реализовать в CLI стиле, типа консольная менюшка «введите номера групп из напечатанного выше списка, в которых нужно удалить сообщения», я никого не заставляю рисовать формочки.

KivApple ★★★★★ ()
Последнее исправление: KivApple (всего исправлений: 2)
Ответ на: комментарий от LINUX-ORG-RU

К стати у вк в правилах есть страница:
https://vk.com/data_protection?section=rules

Внизу страницы есть кнопочка ‘‘Запрсить архив’’, можешь на досуге посмотреть описание того, что делает эта кнопочка и потом ещё и содержимое архива, может придумаешь что полезное.

torvn77 ★★★★★ ()
Ответ на: комментарий от torvn77

Запросил архив всего-всего, что только можно (остальное чисто из интереса в каком формате придёт). Через 2 дня узнаю, что же они там предлагают. Если там будут ID комментариев в пригодном для передачи в wall.deleteComment виде, то норм. Ну или хотя бы список сообществ и постов, которые я комментировал.

KivApple ★★★★★ ()
Ответ на: комментарий от torvn77

Ну экспорт личных сообщений к такому не приводит, хотя обычно там больше компромата у людей, чем в комментах. Скорее всего у них просто через одно место сделано хранение комментариев.

KivApple ★★★★★ ()
Ответ на: комментарий от KivApple

Скорее всего у них просто через одно место сделано хранение комментариев.

Возможно, не хранят обратные индексы за ненадобностью. А возможно, просто так показывают симуляцию деятельности. Если людям предоставлять результаты слишком быстро, они решат, что (работники) работали недостаточно тщательно.

i-rinat ★★★★★ ()

Короче отрыл я эту херню свою, она на gtk2 + webkikwebview-1.0 пересобрал на втором вебките и гтк3 вроде завелось и вторизация прошла https://ibb.co/ZB7Wbvg попробовал просто сообщения получить протестить, а там оказывается с версиями API карусели https://ibb.co/PjNYV8S .

И это https://vk.com/dev/wall.delete не работает тупо.

Хотя есть прикол в виде https://vk.com/dev/wall.restore что как бы намекает на то что ничего не удаляется, а просто скрывается :D

Ну если будут успехи я отпишу хехе

LINUX-ORG-RU ()
Ответ на: комментарий от i-rinat

Если людям предоставлять результаты слишком быстро, они решат, что (работники) работали недостаточно тщательно.

Помнишь была на трёх сидюках библиотека Мошкова?
Так вот, хоть я её и купил, но не прочитал из неё ни одной книги, но тем не менее я нашёл ей хорошее применение, я все три сидюка скопировал на винчестер и указал на них службе индексирования Майкрософта, она инлексировала файлы помниться около 10 часов, если не дольше, но зато потом набираешь несколько слов в оснастку msi и через несколько сееунд список подходящих книг или вообще одна единственная книга из которой я взял копипасту.
И всё это на компе уровня третий пень, так что либо таки днйствительно хреновое хранение комментариев, либо товарищь майор делает скриншоты понравивщихся ему комментариев.

torvn77 ★★★★★ ()

Короче

Невозможно

  • 1 Невозможно удалить комментарии из диалогов (До 24 часов от создания только можно, но и для этого нужна спец авторизация и премодерация для ID приложения короче, смысла нет) https://vk.com/dev/messages_api

  • 2 Невозможно удалить комментарии оставленные через виджеты которые подключают к себе сайты. Ну когда на сайте есть вставка vk сообщений и там можно что-то написать. Ну так вот, нет способов даже искать где ты что написал.

Возможно в теории

Сложности

Банальный пример, ты vkстахановец и прыгаешь по рандомным профилям и пишешь там «ня ципа давай встречаться ты касивая, а я багатый» За несколько лет ты оставил ну к примеру 50000 таких записей на 50000 стенах пользователей.

Теперь мы хотим удалить их пишем https://api.vk.com/method/wall.delete?...blabla...&owner_id=пользовательилисообщество&post_id=номерзаписи

  • owner_id не твой друг и даже не друг твоего друга, миссия провалена ты не знаешь кому что ты писал на стенах, vk не даёт инфу где и что ты писал
  • post_id вроде не проблема нам же всё надо удалять, от 1 до сотни и ок. Только опять миссия провалена количество запросов обгаичено может просто забанить токен за частое одно и тоже и да к некоторым постам идут тысячи сообщений и гдето в середине твой, как его отыскать хз ведь мы даже не знаем кто owner_id

Ну и более того если ты оставил запись на стене owner_id=Люся но Люся указала что теперь её профиль приватный то ты получишь ошибку 30 This profile is private и не удалишь его, но Люся потом может снова открыть твой профиль и твой комментарий к записи на её стене будет виден всем. Это хорошо что ты знаешь Люсю и можешь мониторить или список 10005000 пользователей где теоретически есть твои комменты. А ещё Люся может быть сообществом.

По итогу задача интересная конечно, но либо я что-то не понимаю либо вот просто без хаков каких найти всю инфу о себе нельзя. Особенно если записи были давно, а случаи если ты 5 лет назад ответил человеку на стене рандомного человека в комментарии к его посту, а человек которому ты отвечал был удалён то я вообще не представляю как это найти.

Тут посоветовали выгрузку данных, по идее там должно быть всё. Потрать время и потом вручную удали всё. Можно наверное попробовать через https://vk.com/dev/execute что бы не словить бан по запросам, но хз, там всё выливается в использования search.get() и рекурсивному обходу всего и вся. Наверняка вк такое вычисляет и блочит нахрен.

Если всё же кто напишет подобную чистелку лично-виртуально руку пожму, мне кажется это сложно сделать. Ну или я чего-то не понимаю, не знаю.

А я думал в начале «О! Изи 2к денег, щааа скоро поееемм!1!» А оно вон как.

LINUX-ORG-RU ()
Последнее исправление: LINUX-ORG-RU (всего исправлений: 1)
Ответ на: комментарий от LINUX-ORG-RU

Невозможно удалить комментарии из диалогов

Это и не нужно. В моей терминологии это не комментарии, а личные сообщения. Да, я знаю, что их можно удалить только в течении 24 часов. Но у меня такой задачи в принципе не стоит.

нужна спец авторизация и премодерация для ID приложения короче, смысла нет

Нам не нужно официальное приложение для выкладывания в эп сторы. Так что ничто не мешает просто взять ID от официального клиента ВК.

1 Найти и удалить тему (но не отдельные комментарии) в обсуждении сообществ https://vk.com/dev/board

Только что зашёл в рандомное сообщество с обсуждением, оставил там комментарий, а потом его удалил - кнопка-крестик есть и она работает. Даже если чего-то нет в официальном VK API, всегда можно подсмотреть какие запросы шлёт браузерная версия и повторить их.

может просто забанить токен за частое одно и тоже

Наверняка вк такое вычисляет и блочит нахрен.

У меня не банил. Я как то немного игрался и выкачивал граф всех людей со своего города. Несколько часов делал одни и те же API запросы - получение инфы о юзере и его списке друзей. Если соблюдать ограничение 3 запроса в секунду, то ни одной ошибки не было. Если не соблюдать, то выдаёт ошибку после исчерпания лимита, но токен не банит (но могу предположить, что если продолжить долбить, то всякое может быть).

KivApple ★★★★★ ()
Ответ на: комментарий от KivApple

Только что зашёл в рандомное сообщество с обсуждением, оставил там комментарий, а потом его удалил

Я не доглядел и через api тоже можно, мой косяк.

В целом то да по остальному, но суть то в том что к примеру для удаления комментария из темы в сообществе надо знать group_id этого сообщества. Но мы заранее не знаем или я не знаю как узнать как найти сообшество в котором ты оставил комментарий если ты уже не состоишь в этом сообществе. Суть не в том как удалить, для всего за исключением особых случаев когда профиль или сообщество скрыты, но сообщение внутри твоё есть, есть всё для удаления. Проблема в том как найти. Если брать только людей/сообщества/товары к которым ты причастен подписан и прочее. То ещё наверное ладно. Если это просто рандомная стена, рандомного человека на котрой ты лет 5 назад написал такое что при текущих реалиях это кирдык. То я не представляю как найти такое, удалить то легко, а вот найти… Будет круто если архив с данными будет содержать не только твои данные, но и ссылки на то где они располагаются, Тогда можешь сам в зависимости от объёма ну там 150 комментариев например, всего то, удалить руками или если там 1500 комметнариев то написать скрипт для парсинга и удалять хоть через bash.

LINUX-ORG-RU ()
Ответ на: комментарий от KivApple

А ты точно при авторизации запросил нужные права?

Да

    oauch_set_url(&oauch,"https://oauth.vk.com/authorize");
    oauch_add_scope(&oauch,"offline,messages,wall");

Там же ещё вроде обязательно получить токен с помощью Implicit Flow.

У меня полноценная авторизация Implicit Flow - OAuth 2.0

Я запускаю инстанс webkitwebview в котором загружается страница авторизации vк в отдельном потоке висит pthread тред который опрашивает инстанс на наличие в аддресной строке якоря # с токеном, после получения токен сохраняется в .config/vktoken затем окно вабкита закрывается, это и есть Implicit Flow.

После просто всегда для запросов берётся этот токен и всё.

Я же скинул картинку https://ibb.co/ZB7Wbvg тут права на сообщения (тогда ещё wall не добавлял) но не суть

Там ещё надо ключ сообщества я не проверял короче доступ к messages.blabla во первых не нужен для этой задачи. Во вторых всё равно гемор. Очень неудобно сделали и непонятно почему. Ну и хрен с ними

LINUX-ORG-RU ()
Ответ на: комментарий от KivApple

Хз я свои vk настройки даже в глаза не видел никогда, что там стоит а что нет :D Да пофиг, ждём архивов, мне прям интересно сколько я лайков набухал и кому =)

Давай потом мериться письактивностью по приколу когда получим данные =)

LINUX-ORG-RU ()
Ответ на: комментарий от KivApple

Так что ничто не мешает просто взять ID от официального клиента ВК.

НИКОГДА НЕ БЕРИ ID ОТ ДРУГИХ КЛИЕНТОВ ДЛЯ РАЗРЕШЕНИЙ ПО СВОЕМУ ТОКЕНУ Получай свой ID приложения и делай с ним. Ибо когда ты тыкаешь «Да, разрешаю» с токеном ты по сути безвозвратно даёшь приложению права которые может стать так что будет проблема отозвать. Официальные приложения это любое васяно приложение апрувнутое вк админами. Было уже когда всякие ID приложений для скачивания музыки в вк по итогу при получении прав (а кто их читает что они просят) шерстили по сообщениям и прочим. Хтьфу бяка. Ну если только взять ID прям именно самого vk прям который единственно верный типа от самих них. Но я гдет читал что они как то эту лавочку прикрывали. Прверять лень. Спать хоца =)

LINUX-ORG-RU ()
Ответ на: комментарий от LINUX-ORG-RU

Я именно и имел ввиду взять ключ от самого самого официального приложения. Понятное дело, что доверять васянам не стоит.

С другой стороны, мало получить разрешения от юзера - надо ещё сохранить полученный токен. Ну вот разрешил я васяноприложению доступ, но токен то я себе захапал, не? При implicit flow для получения нового токена снова потребуется показать страницу авторизации да ещё и в контролируемым приложением браузере (чтобы перехватить токен из URL). Незаметно получить токен не выйдет.

KivApple ★★★★★ ()
Последнее исправление: KivApple (всего исправлений: 1)
Ответ на: комментарий от Deleted

Когда фича только появилась, я такой архив заказывал. Но вот я помню, как оставлял одно сообщение, лет десять назад. Точно помню текст. В архиве я этого сообщения не нашёл.

Возможно, автор фотографии её удалил уже давно. Или потёр мои комментарии вместе со всеми остальными. Не знаю. И автор тоже не вспомнит уже — у него слишком много фотографий, чтобы помнить про все.

i-rinat ★★★★★ ()
Последнее исправление: i-rinat (всего исправлений: 1)

Мне пришёл архив, прикольно =) Там есть раздел «Комментарии» с ссылками, так что можно просто переходить и удалять.

И да, я думал я больше вешу вся история с 2013 года всего 259 элементов, объём 7,1 MiB в распакованном виде =)

LINUX-ORG-RU ()
Ответ на: комментарий от LINUX-ORG-RU

А я больше вешу! У меня архив аж 125 МБ весит после распаковки.

Короче набросал скрипт: https://github.com/KivApple/VkCleaner

Ему надо передать путь к распакованному архиву, а также логин и пароль от ВКонтакте (скрипт очень простой, так что легко можно убедиться, что он ничего лишнего в вашими данными не делает).

Он парсит архив, формирует список всех стен, получает их названия через API и выводит список на консоль, а затем предлагает ввести номера стен, комментарии на которых нужно сохранить. После чего удаляет все остальные комментарии до которых может дотянуться.

2 тысячи рублей заплатил сам себе.

KivApple ★★★★★ ()
Последнее исправление: KivApple (всего исправлений: 1)
Ответ на: комментарий от KivApple

А я больше вешу!

Ах ты хипстор социальный, чай поди даже статусы себе обновлял! :D

Короче набросал скрипт

Пригодится.

Вово я тоже хотел сказать что сэкономил 2к

LINUX-ORG-RU ()
Последнее исправление: LINUX-ORG-RU (всего исправлений: 1)
Ответ на: комментарий от KivApple

А у меня 6. Я водяной я водяной никто не дружится со мной =)

Хмм, тогда если допустить что ты в среднем переписываешся с той же частотой что и я. То выходит у тебя где то 570 друзей! Но… наверное ты более активен в два или даже три раза, что логично хмм, тогда у тебя в профиле с поправками от 190 до 285 друзей, но опять же с учётом времени и того что мы теряем людей в два раза чаще чем находим новых то текущее значение в диапазоне от 95 до 142, не менее 60ти из которых особы женского пола =)

LINUX-ORG-RU ()