Here are some terms to mute on Twitter to clean your timeline up a bit.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 |
Perhaps it is time to add
🧵 - these threads are out of control!
it's so sad, but you don't want to throw the baby out with the bathwater. There's a good thread for every 10 trash threads
Here is a minor update to this https://gist.github.com/IanColdwater/88b3341a7c4c0cf71c73ac56f9bd36ec?permalink_comment_id=3969640#gistcomment-3969640 solution. It adds a check for an already muted word
location.assign("https://twitter.com/settings/muted_keywords");
// wait...
// https://github.com/facebook/react/issues/10135#issuecomment-401496776
function setNativeValue(element, value) {
const valueSetter = Object.getOwnPropertyDescriptor(element, "value").set;
const prototypeValueSetter = Object.getOwnPropertyDescriptor(
Object.getPrototypeOf(element),
"value"
).set;
if (valueSetter && valueSetter !== prototypeValueSetter) {
prototypeValueSetter.call(element, value);
} else {
valueSetter.call(element, value);
}
}
function delay(f = 1) {
return new Promise((res) => setTimeout(res, f * 1000));
}
`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+/)
.reduce(async function go(prev, keyword) {
await prev;
document.querySelector('[aria-label="Add muted word or phrase"]').click();
await delay();
const el = document.querySelector("input[name=keyword]");
setNativeValue(el, keyword);
el.dispatchEvent(new Event("input", { bubbles: true }));
await delay();
const saveButton = document
.evaluate(
'//*[contains(text(), "Save")]/ancestor::*[@role = "button"]',
document,
null,
XPathResult.ORDERED_NODE_SNAPSHOT_TYPE,
null
)
saveButton.snapshotItem(0).click()
await delay()
// If the word has already been muted, click the back button
if (document.querySelector('[aria-live="assertive"]')) {
document.querySelector('[aria-label="Back"]').click();
}
return delay();
}, Promise.resolve());
Here is a minor update to this https://gist.github.com/IanColdwater/88b3341a7c4c0cf71c73ac56f9bd36ec?permalink_comment_id=3969640#gistcomment-3969640 solution. It adds a check for an already muted word
location.assign("https://twitter.com/settings/muted_keywords"); // wait... // https://github.com/facebook/react/issues/10135#issuecomment-401496776 function setNativeValue(element, value) { const valueSetter = Object.getOwnPropertyDescriptor(element, "value").set; const prototypeValueSetter = Object.getOwnPropertyDescriptor( Object.getPrototypeOf(element), "value" ).set; if (valueSetter && valueSetter !== prototypeValueSetter) { prototypeValueSetter.call(element, value); } else { valueSetter.call(element, value); } } function delay(f = 1) { return new Promise((res) => setTimeout(res, f * 1000)); } `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+/) .reduce(async function go(prev, keyword) { await prev; document.querySelector('[aria-label="Add muted word or phrase"]').click(); await delay(); const el = document.querySelector("input[name=keyword]"); setNativeValue(el, keyword); el.dispatchEvent(new Event("input", { bubbles: true })); await delay(); const saveButton = document .evaluate( '//*[contains(text(), "Save")]/ancestor::*[@role = "button"]', document, null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null ) saveButton.snapshotItem(0).click() await delay() // If the word has already been muted, click the back button if (document.querySelector('[aria-live="assertive"]')) { document.querySelector('[aria-label="Back"]').click(); } return delay(); }, Promise.resolve());
How tf you apply those, i'm no git or web console expert :(
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Id like to know what some of these do before I copy paste them