[Скрипты] Скрипт для добавления клоунов в ЧС
Вот знаете, последнее что я хочу видеть в новогодние праздники на моём любимом порносайте, так это ботов, которые за копейки готовы свою ж..пу продать. Рыцари, бл..ть. =)
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();
})();
Как запустить
- Прописать в скрипте свои логин и пароль
- Скопировать код в консоль браузера
- Запустить
Посидите в ЧС, подумайте о своем поведении.
82 комментария