Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
Unfollow everyone on twitter.com
// Unfollow everyone on twitter.com, by Jamie Mason (https://twitter.com/fold_left)
// https://gist.github.com/JamieMason/7580315
//
// 1. Go to https://twitter.com/YOUR_USER_NAME/following
// 2. Open the Developer Console. (COMMAND+ALT+I on Mac)
// 3. Paste this into the Developer Console and run it
//
// Last Updated: 09 April 2020
(() => {
const $followButtons = '[data-testid$="-unfollow"]';
const $confirmButton = '[data-testid="confirmationSheetConfirm"]';
const retry = {
count: 0,
limit: 3,
};
const scrollToTheBottom = () => window.scrollTo(0, document.body.scrollHeight);
const retryLimitReached = () => retry.count === retry.limit;
const addNewRetry = () => retry.count++;
const sleep = ({ seconds }) =>
new Promise((proceed) => {
console.log(`WAITING FOR ${seconds} SECONDS...`);
setTimeout(proceed, seconds * 1000);
});
const unfollowAll = async (followButtons) => {
console.log(`UNFOLLOWING ${followButtons.length} USERS...`);
await Promise.all(
followButtons.map(async (followButton) => {
followButton && followButton.click();
await sleep({ seconds: 1 });
const confirmButton = document.querySelector($confirmButton);
confirmButton && confirmButton.click();
})
);
};
const nextBatch = async () => {
scrollToTheBottom();
await sleep({ seconds: 1 });
const followButtons = Array.from(document.querySelectorAll($followButtons));
const followButtonsWereFound = followButtons.length > 0;
if (followButtonsWereFound) {
await unfollowAll(followButtons);
await sleep({ seconds: 2 });
return nextBatch();
} else {
addNewRetry();
}
if (retryLimitReached()) {
console.log(`NO ACCOUNTS FOUND, SO I THINK WE'RE DONE`);
console.log(`RELOAD PAGE AND RE-RUN SCRIPT IF ANY WERE MISSED`);
} else {
await sleep({ seconds: 2 });
return nextBatch();
}
};
nextBatch();
})();
@roy-heinrich
Copy link

roy-heinrich commented Jun 16, 2022

Still works damn.

@faisal-ansarii
Copy link

faisal-ansarii commented Aug 28, 2022

can you write code for removing followers on Twitter in the same way

@rkytie
Copy link

rkytie commented Aug 29, 2022

still working, awesome. thanks.

@JamieMason
Copy link
Author

JamieMason commented Aug 30, 2022

can you write code for removing followers on Twitter in the same way
@faisal-ansarii

See comment on Jan 31 🤞

@rodcisal
Copy link

rodcisal commented Oct 1, 2022

still working thanks !

@hodunov
Copy link

hodunov commented Oct 7, 2022

nice one, thanks

@CacheMoneyPlaya
Copy link

CacheMoneyPlaya commented Nov 8, 2022

works November 2022

@DealsBeam
Copy link

DealsBeam commented Dec 3, 2022

Works as of December 2022, it would be amazing if you could make one that would mass delete tweets and dislike liked tweets

@miguelgargallo
Copy link

miguelgargallo commented Dec 7, 2022

Still working, amazing

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment