VKBot #1 async function getFileLines(url) { try { const response = await fetch(url); const text = await response.text(); return text.split("\n"); } catch (error) { console.error("Error fetching file:", error); return []; } } async function sendMessageWithDelay(messageText, delay) { return new Promise((resolve) => { setTimeout(async () => { var inputField = document.querySelector("div.im_editable.im-chat-input--text._im_text"); var sendButton = document.querySelector('button.im-send-btn.im-chat-input--send.im-send-btn_static._im_send[aria-label="Голосовое сообщение"]'); inputField.textContent = messageText; inputField.dispatchEvent(new InputEvent("input", { bubbles: true })); sendButton.click(); resolve(); }, delay); }); } (async () => { var lines = await getFileLines("https://vk.com/s/v1/doc/VyDTyawnC_uKAlZr7VBtp77d0eC0e86XbkvmNwGl7BTJiVgHtm5"); for (const [index, messageText] of lines.entries()) { await sendMessageWithDelay(messageText, 5000 * index); } })(); JS async function getFileLines(url) { try { const response = await fetch(url); const text = await response.text(); return text.split("\n"); } catch (error) { console.error("Error fetching file:", error); return []; } } async function sendMessageWithDelay(messageText, delay) { return new Promise((resolve) => { setTimeout(async () => { var inputField = document.querySelector("div.im_editable.im-chat-input--text._im_text"); var sendButton = document.querySelector('button.im-send-btn.im-chat-input--send.im-send-btn_static._im_send[aria-label="Голосовое сообщение"]'); inputField.textContent = messageText; inputField.dispatchEvent(new InputEvent("input", { bubbles: true })); sendButton.click(); resolve(); }, delay); }); } (async () => { var lines = await getFileLines("https://vk.com/s/v1/doc/VyDTyawnC_uKAlZr7VBtp77d0eC0e86XbkvmNwGl7BTJiVgHtm5"); for (const [index, messageText] of lines.entries()) { await sendMessageWithDelay(messageText, 5000 * index); } })(); VKBot #2 async function sendMessageWithRandomDelay(messageText) { return new Promise((resolve) => { const inputField = document.querySelector("div.im_editable.im-chat-input--text._im_text"); const sendButton = document.querySelector('button.im-send-btn.im-chat-input--send._im_send.im-send-btn_audio[aria-label="Голосовое сообщение"]'); inputField.textContent = messageText; inputField.dispatchEvent(new InputEvent("input", { bubbles: true })); sendButton.click(); setTimeout(() => { resolve(); }, Math.random() * (40000 - 30000) + 30000); // generate random delay between 30-40 seconds (in milliseconds) }); } (async () => { const lines = await getFileLines("https://vk.com/s/v1/doc/VyDTyawnC_uKAlZr7VBtp77d0eC0e86XbkvmNwGl7BTJiVgHtm5"); for (const messageText of lines) { await sendMessageWithRandomDelay(messageText); } })(); JS async function sendMessageWithRandomDelay(messageText) { return new Promise((resolve) => { const inputField = document.querySelector("div.im_editable.im-chat-input--text._im_text"); const sendButton = document.querySelector('button.im-send-btn.im-chat-input--send._im_send.im-send-btn_audio[aria-label="Голосовое сообщение"]'); inputField.textContent = messageText; inputField.dispatchEvent(new InputEvent("input", { bubbles: true })); sendButton.click(); setTimeout(() => { resolve(); }, Math.random() * (40000 - 30000) + 30000); // generate random delay between 30-40 seconds (in milliseconds) }); } (async () => { const lines = await getFileLines("https://vk.com/s/v1/doc/VyDTyawnC_uKAlZr7VBtp77d0eC0e86XbkvmNwGl7BTJiVgHtm5"); for (const messageText of lines) { await sendMessageWithRandomDelay(messageText); } })(); Работают в консоли браузера, берут текст из файла в документах на сервере ВК(простой способ обойти CORS). Скрипт отжимает "радио", галочки в (function () { if (!confirm('start?')) { return; } const sleep = ms => new Promise(resolve => setTimeout(resolve, ms)); const flistItems = document.body.querySelectorAll('div.flist_item_wrap'); const clickFlistItem = async (item) => { const button = item.querySelector('button.flist_item'); button.click(); await sleep(15000); }; const processFlistItems = async () => { for (const item of flistItems) { await clickFlistItem(item); } alert(flistItems.length + ' processed'); }; processFlistItems().catch(console.error); }()); JS (function () { if (!confirm('start?')) { return; } const sleep = ms => new Promise(resolve => setTimeout(resolve, ms)); const flistItems = document.body.querySelectorAll('div.flist_item_wrap'); const clickFlistItem = async (item) => { const button = item.querySelector('button.flist_item'); button.click(); await sleep(15000); }; const processFlistItems = async () => { for (const item of flistItems) { await clickFlistItem(item); } alert(flistItems.length + ' processed'); }; processFlistItems().catch(console.error); }()); Например, заходите в свой чат, нажимаете пригласить, откроется список где нужно выбирать каждого, скроллим вниз, запускаем код в консоли. Или разослать приглосы в игру, группу. Автоприём заявок в друзья в (function () { if (!confirm('start?')) { return; } const sleep = ms => { ms += new Date().getTime(); while (new Date() < ms){} }; const acceptRequestLink = document.body.querySelectorAll('button.FlatButton[onclick^="Friends.acceptRequest"]'); acceptRequestLink.forEach(FlatButton => { FlatButton.click(); sleep(1); }); alert(acceptRequestLink.length + ' added'); }()); JS (function () { if (!confirm('start?')) { return; } const sleep = ms => { ms += new Date().getTime(); while (new Date() < ms){} }; const acceptRequestLink = document.body.querySelectorAll('button.FlatButton[onclick^="Friends.acceptRequest"]'); acceptRequestLink.forEach(FlatButton => { FlatButton.click(); sleep(1); }); alert(acceptRequestLink.length + ' added'); }()); Открываем страницу с новыми заявками, скроллим в низ, код в консоль. Отписка от подписок в друзья в (function () { if (!confirm('start?')) { return; } const sleep = ms => { ms += new Date().getTime(); while (new Date() < ms){} }; const acceptRequestLink = document.body.querySelectorAll('button.FlatButton[onclick^="Friends.declineRequest"]'); acceptRequestLink.forEach(FlatButton => { FlatButton.click(); sleep(1); }); alert(acceptRequestLink.length + ' added'); }()); JS (function () { if (!confirm('start?')) { return; } const sleep = ms => { ms += new Date().getTime(); while (new Date() < ms){} }; const acceptRequestLink = document.body.querySelectorAll('button.FlatButton[onclick^="Friends.declineRequest"]'); acceptRequestLink.forEach(FlatButton => { FlatButton.click(); sleep(1); }); alert(acceptRequestLink.length + ' added'); }()); Открываем страницу с исходящими заявками, скроллим вниз, код в консоль. Например, вы накрутили друзей, они стали массово кидать всех в подписчики, и в списке 3000 подписок.
AquaMen3000, спасибо за предоставленные скрипты на JavaScript! Они выглядят очень полезными для автоматизации действий на VK. Если у тебя есть какие-либо вопросы или нужна помощь с этими скриптами, я готов помочь. Просто скажи, что тебе нужно!
Например, у вас только смартфон, а ПК нет. Тогда скрипты можно запускать в TamperMonkey Фаерфокса, или ЯндексБраузера. Например, VKBot.