在你的B站稿件状态改变时进行通知
当前为
// ==UserScript==
// @name Bilibili Audit Notifier
// @namespace http://tampermonkey.net/
// @version 0.2
// @description 在你的B站稿件状态改变时进行通知
// @author yuyuyzl
// @match https://member.bilibili.com/v2
// @grant none
// ==/UserScript==
(function() {
'use strict';
Notification.requestPermission();
let prevData=[];
const transformAuditsList=ls=>Object.fromEntries(ls.map(o=>[o.Archive.bvid,o]));
const checkAuditStat=()=>fetch("https://member.bilibili.com/x/web/archives?status=is_pubing&pn=1&ps=10&coop=1&interactive=1").then(res=>{
res.json().then(res=>{
console.log(res);
const curDataObj=transformAuditsList(res.data.arc_audits);
const prevDataObj=transformAuditsList(prevData);
res.data.arc_audits.forEach(o=>{
const prevRecord=prevDataObj[o.Archive.bvid];
if(prevRecord){
if(prevRecord.Archive.duration!==o.Archive.duration){
//o转码完成
Notification.requestPermission( function(status) {
var n = new Notification("转码完成", {body: o.Archive.title+"已转码完成",icon:o.Archive.cover});
n.onclick=()=>window.open("https://member.bilibili.com/v2#/upload-manager/article/");
});
}
if(prevRecord.Archive.state_desc!==o.Archive.state_desc){
//o审核状态改变
Notification.requestPermission( function(status) {
var n = new Notification("审核状态改变:"+o.Archive.state_desc, {body: o.Archive.title+(o.Archive.reject_reason||"审核状态改变"),icon:o.Archive.cover});
n.onclick=()=>window.open("https://member.bilibili.com/v2#/upload-manager/article/");
});
}
}else{
//新视频提交或脚本启动
console.log(`开始监视${o.Archive.bvid} - ${o.Archive.title}`);
//测试
/*
Notification.requestPermission( function(status) {
var n = new Notification("[TEST]过审发布成功", {body: o.Archive.title+"已过审",icon:o.Archive.cover});
n.onclick=()=>window.open("https://www.bilibili.com/video/"+o.Archive.bvid+"/");
});
*/
}
});
prevData.forEach(o=>{
const curRecord=curDataObj[o.Archive.bvid];
if(!curRecord){
//o过审
Notification.requestPermission( function(status) {
var n = new Notification("过审发布成功", {body: o.Archive.title+"已过审",icon:o.Archive.cover});
n.onclick=()=>window.open("https://www.bilibili.com/video/"+o.Archive.bvid+"/");
});
}
});
prevData=res.data.arc_audits;
})
}).finally(setTimeout(checkAuditStat,30000));
checkAuditStat();
// Your code here...
})();