Research
Security News
Quasar RAT Disguised as an npm Package for Detecting Vulnerabilities in Ethereum Smart Contracts
Socket researchers uncover a malicious npm package posing as a tool for detecting vulnerabilities in Etherium smart contracts.
A bot that watches users stories on behalf of your VKontakte account
Бот, который смотрит истории ВКонтакте
Бот предоставляет JavaScript API для работы с ним. Чтобы бот приступил к работе, ему необходима установленная база данных на MongoDB
Если вы не в теме, то поясню, зачем все это нужно.
Когда-то давно, в 2018 году буквально через 3 дня после моего др, я написал статью на Пикабу о том, как воспользовался идеей маркетологов для наращивания статистики посещения страницы ВКонтакте. Метод заключаетя в том, что вы создаете бота, который будет самостоятельно просматривать истории пользователей ВКонтакте, а они в свою очередь будут от интереса "who are you, man?" посещать вашу страницу.
Тогда у меня получились неплохие цифры по посещаемости, охват вырос с 50 посещений до 28 тысяч. Вы можете почитать как это было в этой статье (https://pikabu.ru/story/o_tom_kak_ya_ispolzoval_prosmotryi_storis_dlya_piara_v_vk_6123084)
Бот из статьи уже давно не работает и его поддержка не осуществляется, но тем не менее, сейчас вы находитесь на странице практически того же самого бота, но во много раз улучшенного и продуманного. Это API - это версия для разработчиков, которым хочется поэкспериментировать с данным функционалом. Он более стабильный, постоянно поддерживается и обновляется. Работает на MongoDB, в отличие от прошлой версии (MySQL), а также оптимизирован под лимиты ВКонтакте так, чтобы не возникало неожиданных сбоев и проблем.
Софт полностью бесплатный (хз почему), поэтому вы можете его использовать не покупая никаких дополнений и обновлений. Если вам нужна настройка, найдите фрилансера, который это сможет сделать, а я этим не занимаюсь. (Это не значит, что бот не обновляется, напротив, обновления выходят по мере поступления новых проблем и запросов от разработчиков)
const { Bot, Viewer, Collector} = require('storybot')
let BotController = new Bot({
dbName: 'storybot'
})
let KirillViewer = new Viewer({
account: {
username: 'ИМЯ_ПОЛЬЗОВАТЕЛЯ_ВК',
password: 'ПАРОЛЬ_ВК'
}
})
let KirillCollector = new Collector({
tokens: ['токен_пользователя_1', ...['токен_пользователя_n']]
})
BotController.addBot({
viewers: [KirillViewer],
collector: KirillCollector,
groupIds: [1,2],
name: 'Bot1'
})
BotController.startBots().then(() => {
console.log('Все боты запущены')
})
Collector - это один или несколько аккаунтов, которые будут собирать список доступных историй у участников групп, которые указаны в настройках бота или коллектора
Изначально коллектор - это аккаунт последнего авторизованного Viewer'а Так как storybot написан с помощью EasyVK, то он работает по его правилам (сохранение сессий, загрузка по ним занова)
Поэтому без инициализированного Viewer'а не будет работать коллектор. В боте коллектор может быть только 1. Но аккаунто в нем может быть минимум 1 и максимум - количество доступных для вас разных токенов пользователей
const { Collector } = require('storybot')
let myCollector = new Collector({
fileIds: [__dirname + '/groups.data']
tokens: [''] // Если токенов нет, то авторизация произойдет по Viewer'у
})
Настройки Collector'а
179963918
57846937
29534144
tokens: ['token1', 'token2', 'token3', ...['tokenN']]
Viewer - это тот, кто просматривает истории. Виюверов может быть подключено сразу много, а также, их можно настроить по правилам авторизации easyvk (указать прокси, user-agent и другие параметры)
const { Viewer } = require('storybot')
let Liza = new Viewer({
account: {
username: 'liza-iza@gmailinbox.com',
password: 'AzaRaLize45067!'
},
reauth: false,
proxy: 'socks5://150.129.54.111:6667',
userAgent: 'MOT-V360v/08.B7.58R MIB/2.2.1 Profile/MIDP-2.0 Configuration/CLDC-1.1',
captchaKey: 'key',
captchaSid: 34040402
})
Настройка Viwer'а
Bot - это контроллер всего: виюверов и коллектора
Его настройки тоже возможны. В нем же настраивается список идентификаторов групп. Сам объект Bot
- это не бот. Это комната для ботов, в которой они работают под руководством начальника (Bot'а)
Поэтому в одном файле можно запустить сразу несколько ботов, это не проблема. У каждого бота должно быть уникальное имя, чтобы в базе данных было легко его найти и использовать снова
const { Bot } = require('storybot')
let botController = new Bot({
command: (controller, id, command, data) => {
console.log(controller, id, command, data)
},
log: (...args) => {
console.log(...args)
},
dbName: 'storybot',
dbUrl: 'mongodb://localhost:27017/'
})
// Список групп
let groups = [];
// Добавляем бота
botController.addBot({
viewers: [...[Liza]],
colletor: myCollector,
groupIds: [1,2,3,4,...[groups]],
name: 'Bot1' // Уникальное имя бота (придумайте сами)
})
// Запускаем ботов
botController.startBots().then(() => {
console.log('All bots started!')
})
Настройка Bot'а
command: (from, id, command, ...data) => {
// from - название инициализатора команды (viewer,collector)
// id - ID инициализатора (для виювера ID аккаунта, а для коллектора - 0)
// command - текстовое обозначение команды
// data[] - данные, которые пришли вместе с командой
}
console.log()
бота. Может помочь, чтобы вести логи программы отдельноДля того, чтобы бот работал, вам понадобится создать базу данных в mongodb (для этого надо установить mongodb и в нем создать новую базу)
Желаю вам успехов.
FAQs
A bot that watches users stories on behalf of your VKontakte account (sqlite mode)
The npm package storybot receives a total of 0 weekly downloads. As such, storybot popularity was classified as not popular.
We found that storybot demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Research
Security News
Socket researchers uncover a malicious npm package posing as a tool for detecting vulnerabilities in Etherium smart contracts.
Security News
Research
A supply chain attack on Rspack's npm packages injected cryptomining malware, potentially impacting thousands of developers.
Research
Security News
Socket researchers discovered a malware campaign on npm delivering the Skuld infostealer via typosquatted packages, exposing sensitive data.