const timer = ms => new Promise(res => setTimeout(res, ms)); | |
// Unretweet normally | |
const unretweetTweet = async (tweet) => { | |
await tweet.querySelector('div[data-testid="unretweet"]').click(); | |
await timer(250); | |
await document.querySelector('div[data-testid="unretweetConfirm"]').click(); | |
console.log('****// Unretweeted Successfully //****') | |
} | |
// Sometimes twitter shows your retweet but green retweet button is invisible and therefore you need to retweet again for make unreweet. This function is for that. | |
const unretweetUnretweetedTweet = async (tweet) => { | |
await tweet.querySelector('div[data-testid="retweet"]').click(); | |
await timer(250); | |
await document.querySelector('div[data-testid="retweetConfirm"]').click(); | |
console.log('****// Retweeted Successfully //****') | |
await timer(250); | |
unretweetTweet(tweet); | |
} | |
setInterval(async () => | |
{ | |
// Get all tweets | |
const retweetedTweetList = document.querySelectorAll('span[data-testid="socialContext"]'); | |
console.log('****// Retweeted Tweet List Collected //****') | |
for (const retweet of retweetedTweetList) { | |
const tweetWrapper = retweet.parentElement.parentElement.parentElement.parentElement.parentElement.parentElement.parentElement.parentElement.parentElement.parentElement.parentElement.parentElement.parentElement.parentElement.parentElement.parentElement.parentElement; | |
tweetWrapper.scrollIntoView(); | |
const isRetweeted = tweetWrapper.querySelector('div[data-testid="unretweet"]'); | |
if (isRetweeted) { | |
console.log('****// Green Retweet Button Found - Starting "unretweetTweet" process //****') | |
await unretweetTweet(tweetWrapper); | |
} else { | |
console.log('****// Green Retweet Button Not Found - Starting "unretweetUnretweetedTweet" process //****') | |
await unretweetUnretweetedTweet(tweetWrapper); | |
} | |
await timer(2000); | |
} | |
console.log('****// List Completed //****') | |
console.log('****// Scrolling //****') | |
console.log(' ') | |
console.log(' ') | |
console.log(' ') | |
console.log(' ') | |
console.log(' ') | |
console.log(' ') | |
console.log(' ') | |
console.log(' ') | |
await window.scrollTo(0, document.body.scrollHeight); | |
}, 60000); |
can you please tell me how to use this and how can i tell if its working?
Here's the steps:
- Open your twitter profile
- Switch retweets tab
- Open your browser devtools (Pressing F12)
- Click the console tab
- Paste the code into console and wait
The script begins after 60 second.
This still works :)
thanks
Sick! Works like a charm!
Confirmed working as of November 2022.
Is there a way to make this delete retweets only within a specific time period? For example from June 2022 to December 2021?
worked fine for me
DAMN! APRIL 29TH AND IT'S STILL WORKING! THANKS BRO! IT JUST DELETED ALL OF MY 7K TWEETS! But there's only problem the number of my tweets which seems above the page still same. Its shown like 7K tweets.
not working i got undefined
can you please tell me how to use this and how can i tell if its working?
Here's the steps:
- Open your twitter profile
- Switch retweets tab
- Open your browser devtools (Pressing F12)
- Click the console tab
- Paste the code into console and wait
The script begins after 60 second.
not working i got undefined for first and uncaught error for second one please help
bro i got undefined in browser please help me out
This is a terrific idea, but I'm not sure I've got it working. It's throwing a few errors that might be, in light of the new ownership, to do with Twitter itself! Has anyone else got it working recently? It'd be great if someone could update! Cheers
can you please tell me how to use this and how can i tell if its working?