这个脚本依赖于 pakku ≥ 8.10.1。
【史上最硬核的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.10.1。