pakku advanced filter

弹幕屏蔽Pro+ (依赖于 pakku≥8.7)

目前為 2018-07-19 提交的版本,檢視 最新版本

作者
xmcp
評價
0 0 0
版本
0.2.1
建立日期
2018-04-28
更新日期
2018-07-19
尺寸
4.8 KB
授權條款
未知
腳本執行於

这个脚本依赖于 pakku ≥ 8.7。

【史上最硬核的B站弹幕过滤脚本】 如果你觉得B站视频的弹幕屏蔽功能太简陋,那就运用你的 JavaScript 知识自己动手写屏蔽规则吧!

示例:

function do_filter(D) {
    return D.filter((d) => {
        const [time, mode, size, color, sendtime, pool, uid_hash, danmaku_id] = d.peers[0].attr;

        // 仅显示白色弹幕
        return parseInt(color)==0xFFFFFF;

        // 不显示底部弹幕,除非它看起来像字幕
        return mode!='5' || /^【.*】$/.test(d.text);

        // 仅显示多条合并的弹幕以及LV3+用户发送的弹幕
        return d.peers.length>1 || (d.sender_info && d.sender_info.level_info.current_level>=3);

        // 仅显示老用户发送的弹幕
        return d.cracked_uid<1000000;

        // ...
    });
}

甚至:

// 只显示每个人发的第一条弹幕
function do_filter(D) {
    let store = {};

    D
        .sort((a, b) => {
            return a.peers[0].time - b.peers[0].time;
        })
        .forEach((d) => {
            const uid_hash = d.peer[0].attr[6];
            if(!store[uid_hash])
                store[uid_hash]=d;
        });

    return Object.values(store);
}

总之,你能想到的需求一定都能实现!

请直接修改本脚本的代码(记得把自动更新关掉)。

再次强调:这个脚本依赖于 pakku ≥ 8.7。