pakku advanced filter

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

目前为 2018-05-01 提交的版本。查看 最新版本

作者
xmcp
评分
0 0 0
版本
0.2
创建于
2018-04-28
更新于
2018-05-01
大小
4.7 KB
许可证
暂无
适用于

这个脚本依赖于 pakku ≥ 8.7。

如果你觉得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。