2023-07-23

素早くブクマされた増田を強調 簡易セルクマ検知ユーザースクリプト

https://b.hatena.ne.jp/site/anond.hatelabo.jp

で動くスクリプトでたとえば投稿10分以内にブクマされページに乗ったら「1 user」が「1 user セルクマ 1とか5(何分後にブクマされたか)」になる。もしマイナスなら誤判定なので無視して。

時間を置いたセルクマには効かないし普通ファーストブクマカがどれぐらいの頻度で確認してるかしらないけど5分以内や1分以内もポロポロあるのでまあ目安に。

増田URLと一覧の時刻表示差分を取ってます

増田じゃpre記法でも記号が変換されるみたいだから作業

.forEach(div => {

('.entrylist-contents-title > a')

if(diffSec >

とかの

<>

<>

に変えてね

他にも見落としあるかも

誤判定が減るから非公開ファーストブクマを判定できたらいいんだけどね。

// ==UserScript==
// @name         hatebu masuda selkmark
// @namespace    http://tampermonkey.net/
// @version      0.1
// @description  特定時間以内にブクマされた増田を強調する
// @author       You
// @match        https://b.hatena.ne.jp/site/anond.hatelabo.jp*
// @grant        none
// ==/UserScript==

(function() {
  'use strict';

  const threshold = 60 * 10 // 何秒以内か
  const domain = 'https://anond.hatelabo.jp/'
  const dateTemplate = '202301020304' // 時分まで url時刻表記
  const dateTest = new RegExp('\\d{' + dateTemplate.length + '}')
  document.querySelectorAll('div.entrylist-contents').forEach(div =&gt; {
    const masuda = div.querySelector('.entrylist-contents-title &gt; a')
    const dateStr = masuda.href.substring(domain.length + dateTemplate.length, domain.length)
    if (!dateTest.test(dateStr)) {
      // キーワードとか
      console.log('not diary', dateStr)
      return
    }

    // new Dateできるように変換
    // https://amateur-engineer.com/javascript-date-yyyymmddhhmm/
    const year = parseInt(dateStr.substring(0, 4))
    const month = parseInt(dateStr.substring(4, 6))
    const day = parseInt(dateStr.substring(6, 8))
    const hour = parseInt(dateStr.substring(8, 10))
    const min = parseInt(dateStr.substring(10, 12))
    const date = new Date(year, month - 1, day, hour, min)

    const bukumaDate = new Date(div.querySelector('.entrylist-contents-date').textContent) // 2023/01/23 00:00
    const diffSec = (bukumaDate - date) / 1000 // ms to sec

    if (diffSec &gt; threshold) {
      return
    }
    // ブクマ user
    const user = div.querySelector('span.entrylist-contents-users a').lastChild
    user.textContent += ' セルクマ ' + (diffSec / 60)

    // 古い記事マイナスになる でも2015年ぐらいの記事までかな?新着はセーフ臭い
    /*
    if(diffSec &lt; 0) {
      user.textContent += ' 異常差分:' + diffSec
    }
    */
  })
})();
  • 素早くブクマ=セルクマとは限らないのでは 自分はセルクマする時は時間空けてる なぜならしばらく置いておいて、誰かがブクマしてくれるのを待ってるから それで誰かがブクマし...

    • はてブへお帰り

    • 3連で非公開セルクマをしてますか?

    • もしブクマされなかった時に初めてセルクマしてる しかも非公開で これは本当にそうで 「あれ、ブクマカちゃん、僕の爆笑増田を見落としたのかな・・・もうしょうがないなあ・・...

  • 前にレスバしてる枝があったからちょっと見てみたら、 苦しくなった側が「自分は横増田だ、数分で即レスしたが新着から来ただけだ」って言ってた奴がいたんだよな 新着を見て、話の...

  • 詐欺タイトルだね

記事への反応(ブックマークコメント)

ログイン ユーザー登録
ようこそ ゲスト さん