From aaccfecda84b2b876006a3f97d6ac444e0e63ea2 Mon Sep 17 00:00:00 2001 From: TobiGr Date: Wed, 20 Mar 2024 14:49:19 +0100 Subject: [PATCH] [YouTube] Detect new account termination messages --- .../extractor/services/youtube/YoutubeParsingHelper.java | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/extractor/src/main/java/org/schabi/newpipe/extractor/services/youtube/YoutubeParsingHelper.java b/extractor/src/main/java/org/schabi/newpipe/extractor/services/youtube/YoutubeParsingHelper.java index 7db34ba78..d6560cd80 100644 --- a/extractor/src/main/java/org/schabi/newpipe/extractor/services/youtube/YoutubeParsingHelper.java +++ b/extractor/src/main/java/org/schabi/newpipe/extractor/services/youtube/YoutubeParsingHelper.java @@ -1620,8 +1620,10 @@ public final class YoutubeParsingHelper { final String alertText = getTextFromObject(alertRenderer.getObject("text")); final String alertType = alertRenderer.getString("type", ""); if (alertType.equalsIgnoreCase("ERROR")) { - if (alertText != null && alertText.contains("This account has been terminated")) { - if (alertText.contains("violation") || alertText.contains("violating") + if (alertText != null + && (alertText.contains("This account has been terminated") + || alertText.contains("This channel was removed"))) { + if (alertText.matches(".*violat(ed|ion|ing).*") || alertText.contains("infringement")) { // Possible error messages: // "This account has been terminated for a violation of YouTube's Terms of @@ -1643,6 +1645,7 @@ public final class YoutubeParsingHelper { // the user posted." // "This account has been terminated because it is linked to an account that // received multiple third-party claims of copyright infringement." + // "This channel was removed because it violated our Community Guidelines." throw new AccountTerminatedException(alertText, AccountTerminatedException.Reason.VIOLATION); } else {