bangumi 好友统计

显示好友的最近一条Timeline时间,显示总好友数、活跃好友数,3天内有更新Timeline的:Active,100天内有更新Timeline的:Alive,100天以上没更新Timeline的:M.I.T(Missing In Time)

目前為 2017-12-14 提交的版本,檢視 最新版本

// ==UserScript==
// @name         bangumi 好友统计
// @namespace    https://bgm.tv/user/liaune
// @version      0.1.3
// @description  显示好友的最近一条Timeline时间,显示总好友数、活跃好友数,3天内有更新Timeline的:Active,100天内有更新Timeline的:Alive,100天以上没更新Timeline的:M.I.T(Missing In Time)
// @author       Liaune
// @include     /^https?://(bgm\.tv|chii\.in|bangumi\.tv)\/user\/.*\/(friends|rev_friends)
// @grant        GM_addStyle
// ==/UserScript==
(function() {
    GM_addStyle(`
.dead{
background-color: rgba(11, 12, 12, 0.8)!important;
color:white;
}
.alive{
background-color: rgba(234, 195, 53, 0.8)!important;
color:red;
}
.active{
background-color: rgba(26, 244, 43, 0.8)!important;
color:white;
}
`);
    var active_friends=0, alive_friends=0, dead_friends=0;
    var itemsList = document.querySelectorAll('#memberUserList  li.user');
    var showBtn = document.createElement('a');
    document.querySelector('#friend_flag').innerHTML =itemsList.length+"个好友   ";
    showBtn.addEventListener('click', Count.bind(), true);
    showBtn.className = 'chiiBtn';
    showBtn.href='javascript:;';
    showBtn.textContent = '开始统计';
    document.querySelector('#friend_flag').append(showBtn);

    function Count(){
        itemsList.forEach( (elem, index) => {
            let href = elem.querySelector('a.avatar').href;
            ShowTime(href,index);
        });
    }

    function ShowTime(href,index){
        fetch(href,{credentials: "include"})
            .then( data => data.text() )
            .then(targetStr => {
            var lasttime;
            let activtime = document.createElement('span');
            var myMatch = targetStr.match(/small class="time">(.+?)<\/small><\/li>/);
            activtime.className = 'rank';
            if (myMatch) {
                let timeline = myMatch[1].toString();
                lasttime = myMatch[1];
                var myMatch2 = lasttime.match(/\d{4}/);
                if (myMatch2) {
                    var date = new Date(lasttime);
                    var now = new Date();
                    var durtime = parseInt((now.getTime() - date.getTime())/(24 * 60 * 60 * 1000));
                    if(durtime>=100){ activtime.classList.add('dead'); dead_friends+=1;}
                    else { activtime.classList.add('alive'); alive_friends+=1;}
                }
                else {
                    activtime.classList.add('active');
                    active_friends+=1;
                }
            }
                else {
                lasttime = 'N/A';
                activtime.classList.add('dead');
                dead_friends+=1;
            }
            activtime.innerHTML = `<p></p><small>${lasttime}</small>`;
            document.querySelector('#friend_flag').innerHTML =itemsList.length+"个好友&nbsp;&nbsp;&nbsp;"+"&nbsp;Active:"+active_friends+"&nbsp;Alive:"+alive_friends+"&nbsp;M.I.T:"+dead_friends;
            document.querySelectorAll('#memberUserList  li.user div.userContainer')[index].append(activtime);
        });
    }

})();

QingJ © 2025

镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址