add unfollow all script
This commit is contained in:
parent
51699134bc
commit
fbc859dae0
2 changed files with 47 additions and 0 deletions
47
unfollow_all.js
Normal file
47
unfollow_all.js
Normal file
|
@ -0,0 +1,47 @@
|
||||||
|
let tree = [], the, user = '08draven', gek = 0, spamTimeout = 0;
|
||||||
|
|
||||||
|
function getCookie(name) {
|
||||||
|
const value = `; ${document.cookie}`;
|
||||||
|
const parts = value.split(`; ${name}=`);
|
||||||
|
if (parts.length === 2) return parts.pop().split(';').shift();
|
||||||
|
}
|
||||||
|
|
||||||
|
async function downloadUser(user) {
|
||||||
|
for (let i = 0; ; i++) {
|
||||||
|
let fetchReq = await fetch(`https://api.scratch.mit.edu/users/${user}/followers/?limit=40&offset=${i * 40}`);
|
||||||
|
let fetchJson = await fetchReq.json();
|
||||||
|
if (fetchJson.length < 1) break;
|
||||||
|
tree = [...tree, ...fetchJson];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
async function unfollowUser(user) {
|
||||||
|
if (spamTimeout > 0) {
|
||||||
|
spamTimeout--;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (the = tree[gek]) {
|
||||||
|
the = the.username;
|
||||||
|
e = await fetch(`https://scratch.mit.edu/site-api/users/followers/${the}/remove/?usernames=${user}`, {
|
||||||
|
"method": "PUT",
|
||||||
|
"headers": {
|
||||||
|
"x-csrftoken": getCookie('scratchcsrftoken')
|
||||||
|
}
|
||||||
|
});
|
||||||
|
e = await e.json();
|
||||||
|
console.log(e);
|
||||||
|
if (e.success) {
|
||||||
|
gek++;
|
||||||
|
} else {
|
||||||
|
spamTimeout = 20;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
console.log("end");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
await downloadUser(user);
|
||||||
|
|
||||||
|
setInterval(function () {
|
||||||
|
unfollowUser(user)
|
||||||
|
}, 500)
|
Loading…
Reference in a new issue