弹幕屏蔽Pro+ (依赖于 pakku≥8.7)
当前为
这个脚本依赖于 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。