The Wiert Corner – irregular stream of stuff

Jeroen W. Pluimers on .NET, C#, Delphi, databases, and personal interests

  • My badges

  • Twitter Updates

  • My Flickr Stream

  • Pages

  • All categories

  • Enter your email address to subscribe to this blog and receive notifications of new posts by email.

    Join 4,182 other subscribers

Ian Colwater: Here are some terms to mute on Twitter to clean your timeline up a bit. · GitHub

Posted by jpluimers on 2021/09/30

[WayBack/Archive.is] Here are some terms to mute on Twitter to clean your timeline up a bit. · GitHub

Here are some terms to mute on Twitter to clean your timeline up a bit. – twittermute.txt

Via:

Related:

More details in [WayBack/Archive.is] List of Twitter mute words for your timeline | Hacker News curated comments:

  • I would love to see this list updated with example screenshots of what each one actually mutes.Either way, I had no idea Twitter muting worked like this, where you could actually mute TYPES of tweets, and not just content IN the tweets. I don’t think they go over this in their docs: https://help.twitter.com/en/using-twitter/advanced-twitter-m… – I wonder if they will block this or break this if it picks up steam since it would lower their engagement numbers some (half the reason they stuff all this extra junk in your timeline, to begin with).I can’t imagine this is something that’s intended or expected, but I could be wrong. I’m guessing OP is going to end up regretting posting this awesome little “hack” once they change it so it no longer works. haha
  • There’s a bit more detail in this article from last August that describes the same thing: https://osintcurio.us/2019/08/01/muting-the-twitter-algorith…
  • – create a private list- instead of following people, add people to the listBam. No ads, no suggestions, no “x liked this”, reverse chronological order with no missing posts.
    • Except the list doesn’t show more than 200 tweets (unless there’s some trick to avoid this). If there’s a sudden spike of activity, or you check it only once a week, it’s easy to miss something important.
  • Is there any fast way to populate a list with everyone you are already following?
    • I wrote an open source script for this a while ago, it’s annoying to run due to Twitter API limits https://github.com/KrauseFx/twitter-unfollow
    • I believe you can batch add the people you follow to a list using this Chrome extensionhttps://chrome.google.com/webstore/detail/icotile-twitter-fr…In particular, there is a “select all” button. It may break if you have too many people, though.
    • I just did that. When it came to choosing accounts for the list, Twitter presented those I follow and I could choose them with one click each.I don’t know if it works with many follow-ees(?), I have only a few.
  • Life got so much better after blocking “@threadreaderapp unroll”Interested to see how these work.
  • If you don’t like the way desktop Twitter periodically overrides your system settings and returns you to “top” tweets, try Twitter System Saver: https://github.com/kentbrew/twitter-setting-saver
  • I use a slightly modified version of this UserScript in TamperMonkey: https://github.com/ZedNaught/blank-promoted-tweetsThe change I’ve made is that I set the display of the promoted tweets to none, rather than setting their opacity to 0: article.setAttribute('style', 'display: none');
    • I wrote something very similar for reddit a while back using an extension called Tampermonkey. Reddit uses the same CSS classes on all their promoted content so if twitter does this same this could work.Basically, you make an eventlistener on the scroll wheel and do document.getElementsByClassName('promoted-css-class-name'). Loop over the array of elements found and set the element style to ‘display:none’ for every element found every time you scroll.Not the most efficient approach, but effective!
  • Must enter one by one? Can’t I copy and paste everything?
    • If you look at the request it does, use “copy as curl“, replace the word with “$word“, and put it between:xclip -out -selection clipboard | while read word; do <the curl command>; doneThen you can probably do the whole list at once.

      There is probably also a javascript way to automate this, but if they do it with ajax, this might be faster. Since I do this sort of automation regularly, I aliased the clipboard pasting to “c-v“[1] and so it’s quite easy for me to do this sort of thing quickly without having to remember the exact flags and type all of that.

      [1] .bashrc addition: alias c-v='xclip -out -selection clipboard'

      • If you feel like trying something else than xclip, xsel allows you to easily remember the command with just `xsel -o` instead of that.Also, if the JS way would use AJAX, it would take the exact same time to perform the requests via the browser, as it would with curl, unless there is some particular quirk with their server/setup/deployment/god, or if you have a computer that doesn’t run Twitter (the client side application) so good (bottleneck in cpu/ram rather than network speed)
  • a

The [Archive.is] comment  which on my system did work in Chrome:

In case anyone wants to fully automate entering these in. I took @j6k4m8‘s snippet and expanded on it.
  1. Visit https://twitter.com/settings/muted_keywords
  2. Open your browser’s dev tools (note: this does work in Chrome)
  3. Paste the following code in:
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());

–jeroen

 

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.

 
%d bloggers like this: