Skip to content

Instantly share code, notes, and snippets.

@eviltester
Last active March 11, 2024 00:05
Star You must be signed in to star a gist
Save eviltester/11093f0e4c501a41990e227393184eda to your computer and use it in GitHub Desktop.
uncheck twitter interests
var timer=100;document.querySelectorAll("div > input[type='checkbox']:checked").forEach((interest) => {setTimeout(function(){interest.click()},timer);timer+=2000;});
@adigrateles
Copy link

Thanks so much for the snippets. Saw my Interests list for the first time and wondered how tf I was going to clear that mountain.

https://twitter.com/i/api/1.1/account/personalization/p13n_preferences.json can also be blocked through uBlock Origin fyi

@cthakker
Copy link

cthakker commented Dec 25, 2021

https://gist.github.com/eviltester/11093f0e4c501a41990e227393184eda#gistcomment-3864878
This is the simplest fix, Just make sure after you unblock p13n_preferences, click and unclick, request to p13n_preferences.json goes through in network tab.

@kissu
Copy link

kissu commented Jan 11, 2022

Nice one!
Is it useful anyhow if we're using Lists too?

@AlexMnrs
Copy link

Not working any of the solutions shared. Even if I uncheck them all, there will show up some new interests inmediately so this is kind of useless. Anyway, thank you all guys!

@djlank630
Copy link

@AlexMnrs Here is how I got it to work just now:
https://gist.github.com/eviltester/11093f0e4c501a41990e227393184eda?permalink_comment_id=4032511#gistcomment-4032511

It's important to block https://twitter.com/i/api/1.1/account/personalization/p13n_preferences.json under the network tab. F12 will also open devtools, or right click and select inspect. Click network tab, towards the bottom you should see "Network request blocking" and then a clickable button that says add pattern. Add p13n_preferences.json url inside there. I saw some other comments say to wait until you can see it in there and then you can just select it. You can copy and paste that as well and it should still work.

Go back to your console tab and add the snippet at the bottom, hit enter then let it process.

Once it finishes, unblock p13n_preferences.json, select an interest and then immediately unselect it. This should allow the changes to be saved. After that I refreshed and every interest was unchecked.

@AlexMnrs
Copy link

AlexMnrs commented Feb 10, 2022

@djlank630 That's actually how I did it. I repeated the process step by step and nothing changes. When I unblock the p13n_preferences.json url, check and uncheck any interest and refresh, everything is checked again. Thanks anyway!

@RobinFrcd
Copy link

Thanks for the gist, here's one to dismiss all topics suggested by twitter on this page: https://twitter.com/YOURUSERNAME/topics

https://gist.github.com/RobinFrcd/8b52224f05db01e7465f67f3598e42d6

@Hizaak
Copy link

Hizaak commented Mar 25, 2022

[ To completely block Twitter's subjects / topics / "You might be interested in" etc. ]
I was looking for a while to find back THIS solution, wich seems to actually be one of the most efficient to prevent this kind of annoying stuff that Twitters shows us : https://twitter.com/JonoHimself/status/1107743787856465921

@tomyvi
Copy link

tomyvi commented Aug 2, 2022

Works like a charm, thanks @eviltester !!

@zhSHUVO
Copy link

zhSHUVO commented Dec 19, 2022

This one works for me in Chrome

  1. Browse to https://twitter.com/settings/your_twitter_data/twitter_interests
  2. Open developer tools and enter following one-liner into your console
$$('input:checked').forEach( (w) => { w.click() } ); console.log('done');

this worked for me quicker then other solutions, i'm using brave browser. thanks.

@kissu
Copy link

kissu commented Dec 19, 2022

Twitter is kinda dead nowadays 💀, I guess we can safely all move toward Mastodon. 👍

@amalic
Copy link

amalic commented Dec 19, 2022

This one works for me in Chrome

  1. Browse to https://twitter.com/settings/your_twitter_data/twitter_interests
  2. Open developer tools and enter following one-liner into your console
$$('input:checked').forEach( (w) => { w.click() } ); console.log('done');

this worked for me quicker then other solutions, i'm using brave browser. thanks.

👍

@jcambien
Copy link

If you have a lot of checked interests, X will start to ignore your requests and return a 503 HTTP error if you uncheck them too fast.
Here is a script that uncheck interests every 2 seconds, just launch it and wait until the counter has reached the end.

var counter = 0;
var wait = 2000;
var interests = $$('input:checked');

interests.forEach( (w) => {
    var current = counter;
    setTimeout(() => {
        console.log(current + '/' + interests.length);
        w.click();
    }, wait * counter);
    counter++;
});

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