mirror of
https://github.com/ajayyy/SponsorBlockServer.git
synced 2025-12-18 21:48:29 +03:00
Merge branch 'nb-mod-fetch' of https://github.com/andrewzlee/SponsorBlockServer into nb-mod-fetch
This commit is contained in:
@@ -1,20 +1,19 @@
|
|||||||
var config = require('../config.js');
|
const config = require('../config.js');
|
||||||
|
|
||||||
var databases = require('../databases/databases.js');
|
|
||||||
var db = databases.db;
|
|
||||||
var privateDB = databases.privateDB;
|
|
||||||
var YouTubeAPI = require('../utils/youtubeAPI.js');
|
|
||||||
var logger = require('../utils/logger.js');
|
|
||||||
var request = require('request');
|
|
||||||
var isoDurations = require('iso8601-duration');
|
|
||||||
|
|
||||||
var getHash = require('../utils/getHash.js');
|
|
||||||
var getIP = require('../utils/getIP.js');
|
|
||||||
var getFormattedTime = require('../utils/getFormattedTime.js');
|
|
||||||
var isUserTrustworthy = require('../utils/isUserTrustworthy.js')
|
|
||||||
|
|
||||||
|
const databases = require('../databases/databases.js');
|
||||||
|
const db = databases.db;
|
||||||
|
const privateDB = databases.privateDB;
|
||||||
|
const YouTubeAPI = require('../utils/youtubeAPI.js');
|
||||||
|
const logger = require('../utils/logger.js');
|
||||||
|
const request = require('request');
|
||||||
|
const isoDurations = require('iso8601-duration');
|
||||||
const fetch = require('node-fetch');
|
const fetch = require('node-fetch');
|
||||||
|
|
||||||
|
const getHash = require('../utils/getHash.js');
|
||||||
|
const getIP = require('../utils/getIP.js');
|
||||||
|
const getFormattedTime = require('../utils/getFormattedTime.js');
|
||||||
|
const isUserTrustworthy = require('../utils/isUserTrustworthy.js')
|
||||||
|
|
||||||
function sendDiscordNotification(userID, videoID, UUID, segmentInfo) {
|
function sendDiscordNotification(userID, videoID, UUID, segmentInfo) {
|
||||||
//check if they are a first time user
|
//check if they are a first time user
|
||||||
//if so, send a notification to discord
|
//if so, send a notification to discord
|
||||||
@@ -75,7 +74,7 @@ function sendDiscordNotification(userID, videoID, UUID, segmentInfo) {
|
|||||||
// Looks like this was broken for no defined youtube key - fixed but IMO we shouldn't return
|
// Looks like this was broken for no defined youtube key - fixed but IMO we shouldn't return
|
||||||
// false for a pass - it was confusing and lead to this bug - any use of this function in
|
// false for a pass - it was confusing and lead to this bug - any use of this function in
|
||||||
// the future could have the same problem.
|
// the future could have the same problem.
|
||||||
async function autoModerateSubmission(submission, callback) {
|
async function autoModerateSubmission(submission) {
|
||||||
// Get the video information from the youtube API
|
// Get the video information from the youtube API
|
||||||
if (config.youtubeAPIKey !== null) {
|
if (config.youtubeAPIKey !== null) {
|
||||||
let {err, data} = await new Promise((resolve, reject) => {
|
let {err, data} = await new Promise((resolve, reject) => {
|
||||||
@@ -99,7 +98,7 @@ async function autoModerateSubmission(submission, callback) {
|
|||||||
return false;
|
return false;
|
||||||
} else if ((submission.endTime - submission.startTime) > (duration/100)*80) {
|
} else if ((submission.endTime - submission.startTime) > (duration/100)*80) {
|
||||||
// Reject submission if over 80% of the video
|
// Reject submission if over 80% of the video
|
||||||
return "Sponsor segment is over 80% of the video.";
|
return "One of your submitted segments is over 80% of the video.";
|
||||||
} else {
|
} else {
|
||||||
// Check NeuralBlock
|
// Check NeuralBlock
|
||||||
let neuralBlockURL = config.neuralBlockURL;
|
let neuralBlockURL = config.neuralBlockURL;
|
||||||
@@ -114,7 +113,7 @@ async function autoModerateSubmission(submission, callback) {
|
|||||||
return false;
|
return false;
|
||||||
} else {
|
} else {
|
||||||
// Send to Discord
|
// Send to Discord
|
||||||
return "Automoderator has rejected the segment. Sending to Discord for manual review.";
|
return "NB disagreement.";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -206,14 +205,14 @@ module.exports = async function postSkipSegments(req, res) {
|
|||||||
res.sendStatus(409);
|
res.sendStatus(409);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
// Auto moderator check
|
// Auto moderator check
|
||||||
if (!isVIP) {
|
if (!isVIP) {
|
||||||
let autoModerateResult = await autoModerateSubmission(videoID, segments);
|
let autoModerateResult = await autoModerateSubmission({videoID, startTime, endTime, category: segments[i].category});
|
||||||
if (autoModerateResult) {
|
if (autoModerateResult) {
|
||||||
res.status(403).send("Request rejected by auto moderator: " + autoModerateResult + " If this is an issue, send a message on Discord.");
|
res.status(403).send("Request rejected by auto moderator: " + autoModerateResult + " If this is an issue, send a message on Discord.");
|
||||||
return;
|
return;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user