Весной проводился конкурс для говнокодеров на использование API сайтов комитета. Призы небольшие, но можно пошатать сайт, что обычно вызывает бурную реакцию.
В документации к API в разделе WebSocket был список нескольких публичных WS каналов (сейчас удалён):
Раз описания нет, то просто подключимся и посмотрим, что сайт присылает (node.js):
Судя по полю "type", нам приходят оповещения о голосах за комментарии и публикации, оповещения о новых публикациях, изменение числа подписчиков подсайтов и, возможно, что-то ещё.
Меня заинтересовало поле "user_hash". Это похоже на уникальный идентификатор пользователя. Ищем в документации его упоминание:
Результат хэша похож на SHA-256, что делает маловероятным его обращение обратно в ID пользователя, но я заметил, что хэши для оценок комментариев и постов совпадают, а оценки комментариев видны всем. Значит сопоставив хэши из оценок комментариев к ID пользователей, можно будет видеть, кто и как оценивает публикации.
Используя метод "getCommentLikes" из документации, получаем лайки комментария, используя ID комментария из сообщения вебсокетов:
Тут очевидно, что сопоставить кучу хэшей и несортированный список лайков невозможно, поэтому начнём с комментариев с одним лайком:
А затем будем исключать из списка пользователей, чьи хэши нам известны, и если останется только один неизвестный, то его и будем сопоставлять с новым хэшем. Таким образом за неделю набралась база из, примерно, 2000 пользователей, оценивавших публикации. Из них больше половины вообще не писали комментариев.
Так как писать специальный сайт с фильтрами и поиском лень, то всё это связываем с ботом в телеге и публикуем в приватный канал с хэштегами для поиска:
Результат можно почитать тут:
В конкурсе я, кстати, победил, но не с этим ботом.
Другие мои боты:
Ставьте лайки, подписывайтесь на канал @govnokoder, присылайте ваши донаты.
Чекальский против Зоибаны. Следовательно, Человек-Человек — твинк Чекальского
Комментарий недоступен
Ты про мейлру?
Слава богу Комитет не норм по мнению Климова
в СЖВ мире - да?
Он вроде пофиксил тогда. Вы снова нашли способ узнать, от кого оценки?
Кто мы-то? Я тут один нахой.
Комментарий недоступен
А ты хорош! Подписался на тебя...
Комментарий недоступен
Комментарий недоступен
Комментарий недоступен
Всё равно нашы победили.
На что потратил 100 кусков?
Я ведь уже писал, что на кофе и маффин из шоколадницы.
Это уже пофикшено или как?
Да.
Комментарий удален модератором
Комментарий удален модератором
Нешто гениальное ёптыть. Не понимаю, чего ребята так возбудилисб тогда
.000000ж7⁷щ