| Mute these words in your settings here: https://twitter.com/settings/muted_keywords | |
| ActivityTweet | |
| generic_activity_highlights | |
| generic_activity_momentsbreaking | |
| RankedOrganicTweet | |
| suggest_activity | |
| suggest_activity_feed | |
| suggest_activity_highlights | |
| suggest_activity_tweet | |
| suggest_grouped_tweet_hashtag | |
| suggest_pyle_tweet | |
| suggest_ranked_organic_tweet | |
| suggest_ranked_timeline_tweet | |
| suggest_recap | |
| suggest_recycled_tweet | |
| suggest_recycled_tweet_inline | |
| suggest_sc_tweet | |
| suggest_timeline_tweet | |
| suggest_who_to_follow | |
| suggestactivitytweet | |
| suggestpyletweet | |
| suggestrecycledtweet_inline |
This comment has been minimized.
This comment has been minimized.
donwatkins
commented
Jan 3, 2020
|
Thanks for sharing this. This is a great. |
This comment has been minimized.
This comment has been minimized.
00k00km3m0nk3y
commented
Jan 3, 2020
|
Thanks! |
This comment has been minimized.
This comment has been minimized.
i0bj
commented
Jan 4, 2020
|
Bless you for this lol |
This comment has been minimized.
This comment has been minimized.
PolarYair
commented
Jan 8, 2020
|
Thank you very much |
This comment has been minimized.
This comment has been minimized.
phunkren
commented
Jan 24, 2020
|
|
This comment has been minimized.
This comment has been minimized.
TonyCletus
commented
Jan 24, 2020
|
|
This comment has been minimized.
This comment has been minimized.
leanucci
commented
Jan 24, 2020
|
Any way to automate muting these? Settings only allow adding one at a time |
This comment has been minimized.
This comment has been minimized.
dillionmegida
commented
Jan 24, 2020
|
Can someone please explain how these aren't actual words used in tweets but are still muted? |
This comment has been minimized.
This comment has been minimized.
kamalhm
commented
Jan 24, 2020
|
thanks!!! |
This comment has been minimized.
This comment has been minimized.
DominusKelvin
commented
Jan 24, 2020
|
Awesome |
This comment has been minimized.
This comment has been minimized.
bluetidepro
commented
Jan 24, 2020
|
Would love to see this updated with maybe example screenshots of what each one actually mutes! Either way, this is awesome. |
This comment has been minimized.
This comment has been minimized.
whalesalad
commented
Jan 24, 2020
Chances are the mute code is checking for a string in a bigger object where these properties exist. |
This comment has been minimized.
This comment has been minimized.
iKlsR
commented
Jan 24, 2020
I prefer my hot take. Everything is coded as a tweet! Similar to how every object in League of Legends used to be/is still? coded as a minion. |
This comment has been minimized.
This comment has been minimized.
prayank23
commented
Jan 24, 2020
|
Awesome! Added the words and will test how this works |
This comment has been minimized.
This comment has been minimized.
debpaul
commented
Jan 24, 2020
|
Oooh. Thanks much! |
This comment has been minimized.
This comment has been minimized.
gr2m
commented
Jan 24, 2020
|
This is really great! I wonder if you could maybe put it into a repository instead? People could submit new words more easily if new features are introduced, and users could watch "releases only". You could create releases notes with newly added words, it would be easier to keep track. Happy to collaborate on that repository if you like |
This comment has been minimized.
This comment has been minimized.
djuanit0x
commented
Jan 24, 2020
|
Thanks |
This comment has been minimized.
This comment has been minimized.
alexpapworth
commented
Jan 24, 2020
|
I wonder why twitter exposes these in the first place? |
This comment has been minimized.
This comment has been minimized.
AndrewReifel
commented
Jan 24, 2020
|
Awesome! |
This comment has been minimized.
This comment has been minimized.
nosequeldeebee
commented
Jan 24, 2020
|
not all heroes wear capes |
This comment has been minimized.
This comment has been minimized.
j6k4m8
commented
Jan 24, 2020
•
|
Can verify that the following js hits the right elements, still needs some love but hopefully that gets us a bit closer to automated list-entry. To go directly to the add-keyword page: window.location = 'https://twitter.com/settings/add_muted_keyword';To enter and save a new keyword: let keyword = "ActivityTweet";
document.querySelectorAll("[name='keyword']")[0].value = keyword;
document.querySelectorAll("[data-testid='settingsDetailSave']")[0].click(); |
This comment has been minimized.
This comment has been minimized.
evilmarty
commented
Jan 24, 2020
|
|
This comment has been minimized.
This comment has been minimized.
stephenc
commented
Jan 24, 2020
|
Awesome |
This comment has been minimized.
This comment has been minimized.
TylerBussell
commented
Jan 24, 2020
|
Hi, muting these things doesn't actually do anything. I can't speak to the JS code or any plugins. You can switch to the Latest Tweets timeline and you shouldn't see them. |
This comment has been minimized.
This comment has been minimized.
mjy
commented
Jan 24, 2020
|
@TylerBussel- force reload your page? |
This comment has been minimized.
This comment has been minimized.
orbitalflower
commented
Jan 24, 2020
•
|
Has anyone scientifically tested whether muting keywords in this fashion actually works, particularly on the new Twitter? How do we know everyone's not cargo-culting a technique that doesn't actually work, or which only worked on old Twitter? |
This comment has been minimized.
This comment has been minimized.
dweekly
commented
Jan 24, 2020
|
Just as a heads-up, this is now on the front page of Hacker News; https://news.ycombinator.com/item?id=22141903 |
This comment has been minimized.
This comment has been minimized.
TylerBussell
commented
Jan 24, 2020
•
I don't need to. This definitely does not work. |
This comment has been minimized.
This comment has been minimized.
iMerica
commented
Jan 24, 2020
|
You're a life saver thank you @IanColdwater |
This comment has been minimized.
This comment has been minimized.
SlowHadoken
commented
Jan 24, 2020
|
That’s the stuff |
This comment has been minimized.
This comment has been minimized.
mjy
commented
Jan 24, 2020
|
@TylerBussel if definitey did work for me. |
This comment has been minimized.
This comment has been minimized.
suyashjoshi
commented
Jan 24, 2020
|
Which ones are the one that will hide the ads ? |
This comment has been minimized.
This comment has been minimized.
ronaldKM98
commented
Jan 24, 2020
|
Any term to block other people liked tweets ? |
This comment has been minimized.
This comment has been minimized.
TheRyanHickman
commented
Jan 24, 2020
|
|
This comment has been minimized.
This comment has been minimized.
AndrewKemendo
commented
Jan 24, 2020
It took me all of 2 minutes to do all of them. You don't need to set up a jenkins pipeline for this task. |
This comment has been minimized.
This comment has been minimized.
kpennell
commented
Jan 24, 2020
|
@AndrewKemendo lulz. |
This comment has been minimized.
This comment has been minimized.
TylerBussell
commented
Jan 24, 2020
I will venmo someone $100 if they can prove to me that muting these keywords works. |
This comment has been minimized.
This comment has been minimized.
jakebellacera
commented
Jan 24, 2020
|
In case anyone wants to fully automate entering these in. I took @j6k4m8's snippet and expanded on it.
const delayMs = 500; // change this if you feel like its running too fast
const keywords = `ActivityTweet
generic_activity_highlights
generic_activity_momentsbreaking
RankedOrganicTweet
suggest_activity
suggest_activity_feed
suggest_activity_highlights
suggest_activity_tweet
suggest_grouped_tweet_hashtag
suggest_pyle_tweet
suggest_ranked_organic_tweet
suggest_ranked_timeline_tweet
suggest_recap
suggest_recycled_tweet
suggest_recycled_tweet_inline
suggest_sc_tweet
suggest_timeline_tweet
suggest_who_to_follow
suggestactivitytweet
suggestpyletweet
suggestrecycledtweet_inline`.split(/\W+/);
const nativeInputValueSetter = Object.getOwnPropertyDescriptor(window.HTMLInputElement.prototype, "value").set;
const addMutedKeyword = keyword => {
const input = document.querySelector("[name='keyword']");
nativeInputValueSetter.call(input, keyword);
input.dispatchEvent(new Event('input', { bubbles: true }));
document.querySelector("[data-testid='settingsDetailSave']").click();
}
const delay = () => {
return new Promise(res => setTimeout(res, delayMs));
};
keywords.reduce(async (prev, keyword) => {
await prev;
document.querySelector("a[href='/settings/add_muted_keyword']").click();
await delay();
addMutedKeyword(keyword);
return delay();
}, Promise.resolve()); |
This comment has been minimized.
This comment has been minimized.
llacb47
commented
Jan 24, 2020
Doesn't work on old twitter design, sadly |
This comment has been minimized.
This comment has been minimized.
shstkvch
commented
Jan 25, 2020
•
|
@jakebellacera Thank you so much for doing this, so useful. What's the advantage of using |
This comment has been minimized.
This comment has been minimized.
freedmand
commented
Jan 25, 2020
|
Expanded on @jakebellacera's script to make it work for my browser. Visit https://twitter.com/settings/add_muted_keyword, open your browser's javascript console, and paste the following script in: const delayMs = 1000; // change this if you feel like its running too fast
const keywords = `ActivityTweet
generic_activity_highlights
generic_activity_momentsbreaking
RankedOrganicTweet
suggest_activity
suggest_activity_feed
suggest_activity_highlights
suggest_activity_tweet
suggest_grouped_tweet_hashtag
suggest_pyle_tweet
suggest_ranked_organic_tweet
suggest_ranked_timeline_tweet
suggest_recap
suggest_recycled_tweet
suggest_recycled_tweet_inline
suggest_sc_tweet
suggest_timeline_tweet
suggest_who_to_follow
suggestactivitytweet
suggestpyletweet
suggestrecycledtweet_inline`.split(/\W+/);
const nativeInputValueSetter = Object.getOwnPropertyDescriptor(window.HTMLInputElement.prototype, "value").set;
const addMutedKeyword = keyword => {
const input = document.querySelector("[name='keyword']");
nativeInputValueSetter.call(input, keyword);
input.dispatchEvent(new Event('input', { bubbles: true }));
document.querySelector("[data-testid='settingsDetailSave']").click();
}
const delay = () => {
return new Promise(res => setTimeout(res, delayMs));
};
keywords.reduce(async (prev, keyword) => {
await prev;
addMutedKeyword(keyword);
await delay();
document.querySelector('[aria-label="Add muted word or phrase"]').click();
return delay();
}, Promise.resolve()); |
This comment has been minimized.
This comment has been minimized.
j6k4m8
commented
Jan 25, 2020
|
You beautiful, wonderful people. Confirmed @jakebellacera's code works for me, latest firefox on 'vanilla' twitter.com. Glad my lines of code found a good home :) |
This comment has been minimized.
This comment has been minimized.
jakebellacera
commented
Jan 25, 2020
|
@shstkvch glad it was useful to someone. |
This comment has been minimized.
This comment has been minimized.
ntbnnt
commented
Jan 25, 2020
|
Thanks for sharing, awesome |
This comment has been minimized.
This comment has been minimized.
vabruce
commented
Jan 25, 2020
|
Well done, thank you for sharing! |
This comment has been minimized.
This comment has been minimized.
catarino
commented
Jan 25, 2020
also works on Safari. thx for this |
This comment has been minimized.
This comment has been minimized.
apervola
commented
Jan 25, 2020
|
great work, much appreciated ! |
This comment has been minimized.
This comment has been minimized.
superherointj
commented
Jan 25, 2020
|
Thanks! |
This comment has been minimized.
This comment has been minimized.
vish0l
commented
Jan 25, 2020
|
thanks |
This comment has been minimized.
This comment has been minimized.
digisavvy
commented
Jan 25, 2020
|
@freedmand's code worked in my case. +1 would buy again! Where can I send a few bucks for you to get a beverage? |
This comment has been minimized.
This comment has been minimized.
doctoraw
commented
Jan 25, 2020
|
Thanks ! |
This comment has been minimized.
This comment has been minimized.
evandrix
commented
Jan 25, 2020
|
|
This comment has been minimized.
This comment has been minimized.
madaboutcode
commented
Jan 25, 2020
•
|
The fixed delay in the code was not working all the time for me. So I added a wait until the add page returns before clicking on the add button again. (function(){
const delayMs = 500;
const keywords = `ActivityTweet
generic_activity_highlights
generic_activity_momentsbreaking
RankedOrganicTweet
suggest_activity
suggest_activity_feed
suggest_activity_highlights
suggest_activity_tweet
suggest_grouped_tweet_hashtag
suggest_pyle_tweet
suggest_ranked_organic_tweet
suggest_ranked_timeline_tweet
suggest_recap
suggest_recycled_tweet
suggest_recycled_tweet_inline
suggest_sc_tweet
suggest_timeline_tweet
suggest_who_to_follow
suggestactivitytweet
suggestpyletweet
suggestrecycledtweet_inline`.split(/\W+/);
const nativeInputValueSetter = Object.getOwnPropertyDescriptor(window.HTMLInputElement.prototype, "value").set;
const addMutedKeyword = keyword => {
const input = document.querySelector("[name='keyword']");
nativeInputValueSetter.call(input, keyword);
input.dispatchEvent(new Event('input', { bubbles: true }));
document.querySelector("[data-testid='settingsDetailSave']").click();
}
const delay = () => {
return new Promise(res => setTimeout(res, delayMs));
};
keywords.reduce(async (prev, keyword) => {
await prev;
// wait till the browser returns to the initial screen before clicking the add button again.
while(window.location.href !== 'https://twitter.com/settings/muted_keywords'){
await delay();
}
document.querySelector("a[href='/settings/add_muted_keyword']").click();
await delay();
addMutedKeyword(keyword);
return delay();
}, Promise.resolve());
})() |
This comment has been minimized.
This comment has been minimized.
julianwieg
commented
Jan 25, 2020
|
thank you! |
This comment has been minimized.
This comment has been minimized.
paaandy
commented
Jan 25, 2020
|
YES thank you so much, always thought it an assault to force my eyes to read that stuff |
This comment has been minimized.
This comment has been minimized.
mjy
commented
Jan 25, 2020
|
@TylerBussel - I think you're right, this does nothing, maybe @IanColdwater can edit this gist so this is not burried. I had been playing with uBlockOrigin settings at the same time as I was playing with these, and going back and replicating, even taking some time to see if things took a while to take effect- I can't see any effect/replicate what I initially saw. And there is this: https://twitter.com/TwitterSupport/status/1220872428605317122 Though if you read carefully there is wiggle room- they may have some other effect, but that seems to be grasping at straws. But, until we get proof (screenshots(?)), this is bogus. |
This comment has been minimized.
This comment has been minimized.
joshdance
commented
Jan 25, 2020
|
I doubt this does anything. Direct quote from Twitter "Hi Ian, muting these keywords won't actually change the number of suggested Tweets in your timeline. We are exploring ways to improve suggestions to allow you to further customize your timeline. More to come!" source - https://twitter.com/TwitterSupport/status/1220872428605317122 Reason is none of these words actually appear in the tweet body. It is not 'mute meta data about tweets' it is 'mute words' which presumably only are in the tweet body. |
This comment has been minimized.
This comment has been minimized.
Nerjuz
commented
Jan 27, 2020
|
This comment has been minimized.
This comment has been minimized.
GuillaumeRossolini
commented
Jan 27, 2020
|
To the people for whom this didn't work: try switching your timeline back to chronological (instead of popular, or however it is called). |
This comment has been minimized.
This comment has been minimized.
heygambo
commented
Jan 27, 2020
|
This seems interesting but I'm not 100% sure what it does |
This comment has been minimized.
This comment has been minimized.
horvaro
commented
Jan 27, 2020
|
This comment has been minimized.
This comment has been minimized.
jimaldon
commented
Jan 27, 2020
|
Does this also work on the twitter android client? |
This comment has been minimized.
This comment has been minimized.
TylerBussell
commented
Jan 27, 2020
This has come up several times in the past. We made some changes to the timeline settings + someone released a JS plugin that did some blocking, so it caused some confusion and people thought muting via keyword mute did something. |
This comment has been minimized.
This comment has been minimized.
am1983
commented
Jan 27, 2020
|
Not all heroes where capes. |
This comment has been minimized.
This comment has been minimized.
stevetemp7
commented
Jan 27, 2020
|
Worked for me. Made twitter usable. Thanks. |
This comment has been minimized.
This comment has been minimized.
davidawad
commented
Jan 30, 2020
|
@madaboutcode's thing worked for me. Thanks! |
This comment has been minimized.
This comment has been minimized.
maxclark
commented
Feb 1, 2020
|
|
This comment has been minimized.
markyjackson-taulia commentedJan 3, 2020
You so rock for this!