Twitter - own tweets

Adds a link to users' pages to search for tweets only from them (no retweets without comment).

目前为 2020-06-12 提交的版本。查看 最新版本

// ==UserScript==
// @name     Twitter - own tweets
// @version  1
// @grant    none
// @require  https://cdn.jsdelivr.net/npm/[email protected]/dist/jquery.min.js
// @match    https://twitter.com/*
// @author   monnef
// @description Adds a link to users' pages to search for tweets only from them (no retweets without comment).
// @namespace   monnef.eu
// ==/UserScript==

const linkMarker = 'monnef--no-retweets';

const work = () => {
  // fragile as fuck bc all twitter's css classes are obfuscated >:(
  const primEl = $('main > div > div > div > div:first-child');
  const followEl = $('[role=button]:contains(Follow)', primEl);
  const userInfoEl = followEl.parent().parent().parent().parent().parent();
  const uiPos = userInfoEl.offset()
  const nameEl = $(document.elementFromPoint(uiPos.left + 20, uiPos.top + 90));
  const handle = nameEl.text();
  if (!nameEl.length || !handle.startsWith('@')) return;
  if (nameEl.parent().find(`.${linkMarker}`).length) return;
  const linkEl = $("<a/>")
    .attr('href', `/search?q=from%3A%40${handle.slice(1)}&src=typed_query`)
    .text('own tweets')
    .addClass(linkMarker)
    .css('color', 'rgb(29, 161, 242)')
    .css('margin-left', '0.5em')
  ;
  nameEl.after(linkEl);
}

$(() => setInterval(work, 2000))