[Скрипты] Скрипт для добавления клоунов в ЧС

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

[Скрипты] Скрипт для добавления клоунов в ЧС
const user_login = '*'; //свой логин const user_password = '*'; //пароль let dtf_api; async function knights_go_to_jail() { let link = `https://api.dtf.ru/v2.10/comments?sorting=hotness&contentId=4576529&firstLoad=true`; const response = await fetch(link); const response_json = await response.json(); if (response_json?.result?.items?.length===0) return false; for (let k = 0; k < response_json.result.items.length; k++) { const item = response_json.result.items[k]; if (item.text === 'Именем FunPay я обещаю вести себя культурно, честно и дружелюбно и буду приглядывать за тем, чтобы другие вели себя не хуже') { console.log(`Отправляем в темницу: ${item.author.name}`); const post_data = new FormData(); post_data.append('id', item.author.id); post_data.append('action', 'mute'); await fetch( 'https://api.dtf.ru/v2.1/subsite/mute', { method: 'post', body: post_data, headers: new Headers({ 'JWTAuthorization': `Bearer ${dtf_api.access_token}` }) } ); } } } class DTF_API { constructor(user_login, user_password, _log) { this.user_login = user_login; this.user_password = user_password; this.access_token = null; this.refresh_token = null; this.refresh_interval = null; this._log = _log; } //авторизация аккаунта async auth() { return new Promise( async (resolve, reject) => { const this_ = this; let login; while(!login?.data?.accessToken || !login?.data?.refreshToken) { const response = await this_.auth_email_login(this_.user_login, this_.user_password).catch(function (error) { this_._log(error); }); login = await response.json(); } console.log('!!! Авторизовались'); this_.access_token = login.data.accessToken; this_.refresh_token = login.data.refreshToken; resolve(); }); } //авторизация через логин/пароль async auth_email_login(email, password) { return new Promise( async (resolve, reject) => { const this_ = this; const post_data = new FormData(); post_data.append("email", email); post_data.append("password", password); await this_.delay(1000); await fetch('https://api.dtf.ru/v3.4/auth/email/login', { method: 'post', body: post_data }) .then(async function (response) { if (response.status === 429) { this_._log('auth_email_login 429 wait 10 min'); await this_.delay(600000); //10 min = 10*60*1000 ms } if (response.status === 200) { return resolve(response); } }) .catch(async function(error) { console.error(error); reject(`auth_email_login request error: ${error}`); }); }); } //пауза async delay(milliseconds) { return new Promise(resolve => { setTimeout(resolve, milliseconds); }); } } (async ()=>{ dtf_api = new DTF_API(user_login, user_password, console.log); await dtf_api.auth(); await knights_go_to_jail(); })();

Как запустить

  • Прописать в скрипте свои логин и пароль
  • Скопировать код в консоль браузера
  • Запустить
Посидите в ЧС, подумайте о своем поведении.
Посидите в ЧС, подумайте о своем поведении.
16
11
5
2
2
2
1
1
1
82 комментария