LINUX.ORG.RU

Информация о пользователе stabilitron

Nick: stabilitron
ID: 212586

Дата регистрации:
Последнее посещение:
Статус: новый пользователь

Личные достижения:

  • 🤡x1 (@hobbit)
  • 🤡x4 (others)

Посмотреть свои:

/* 
  Скрипт, чтобы посчитать клованав 🤡;
  вставляй в консоль браузера
*/

async function get_reactions(page, reactions_per_page=30) {
    let url = '/notifications?filter=reaction&offset='
    let offset = page * reactions_per_page
    let response = await fetch(url + offset.toString())
    let text = await response.text()
    let doc = (new DOMParser).parseFromString(text, "text/html")
    return doc.getElementsByClassName("reaction")
}

(async() => {
    let stat = {}

    /* запрашиваем странички и считаем */
    for (let p=0; /* reactions.length > 0 */; p++) {
        let reactions = await get_reactions(p)
        if (reactions.length === 0) break;
        for (let el of reactions) {
            let [r, u] = el.innerHTML.trim().split(' ')
            if (stat[r]) stat[r].push(u)
            else stat[r] = [u]
        }
    }

    /* выводим результат */
    let tab = document.createElement('table')
    tab.classList.add("msg_body", "reactions")
    document.styleSheets[0].insertRule(".reaction {white-space:nowrap;}")
    for (let e in stat) {
      let row = tab.insertRow()
      row.insertCell().innerHTML = `<span class="reaction">${e}</span>`
      row.insertCell().innerHTML = stat[e].length
      ulinks = stat[e].map(u => `<a href="/people/${u}/profile">@${u}</a>`)
      row.insertCell().innerHTML = ulinks.join(', ')
    }
    document.body.innerHTML = tab.outerHTML
})()

btc:1Arv5TBLaFWJJqiKMtSQ9iYDEkBXxeKG6v

Статистика

Первый комментарий:
Последний комментарий:
Число комментариев: 81

Сообщения пользователя