BD Forum Block Script

Remove the posts of blocked users within a thread on Black Desert Official Forum, one exception is if the user is the person who started the discussion thread then only the very first post will not get removed.

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴Greasemonkey 油猴子Violentmonkey 暴力猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴Violentmonkey 暴力猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴Userscripts ,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展后才能安装此脚本。

(我已经安装了用户脚本管理器,让我安装!)

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

(我已经安装了用户样式管理器,让我安装!)

// ==UserScript==
// @name         BD Forum Block Script
// @version      0.4
// @description  Remove the posts of blocked users within a thread on Black Desert Official Forum, one exception is if the user is the person who started the discussion thread then only the very first post will not get removed.
// @author       PootyPoot
// @match        https://www.naeu.playblackdesert.com/en-US/*
// @exclude      https://www.naeu.playblackdesert.com/en-US/Main/Index*
// @exclude      https://www.naeu.playblackdesert.com/en-US/News/*
// @exclude      https://www.naeu.playblackdesert.com/en-US/GameInfo/*
// @exclude      https://www.naeu.playblackdesert.com/en-US/Wiki*
// @exclude      https://www.naeu.playblackdesert.com/en-US/Adventure/*
// @exclude      https://www.naeu.playblackdesert.com/en-US/Photogallery*
// @exclude      https://www.naeu.playblackdesert.com/en-US/BeautyAlbum*
// @exclude      https://www.naeu.playblackdesert.com/en-US/Partners*
// @exclude      https://www.naeu.playblackdesert.com/en-US/Data/*
// @grant        none
// @namespace    https://greasyfork.org/users/751816
// ==/UserScript==

(function() {
    'use strict';
    // List of blocked users
    const blockedUserList = ['ExampleUser1', 'ExampleUser2'];
    // Get all the posts within the thread
    var postList = document.querySelectorAll('.section_column.reply_mode.skin_forum');
    var pageNum = document.querySelector('#paging');
    var firstPost = 0;
    if(pageNum != null)
    {
        pageNum = pageNum.querySelector('.active').innerText;
        if(pageNum > 1)
        {
            firstPost = -1;
        }
    }
    // Find the blocked user and remove the person's post
    for(var postIdx = postList.length - 1; postIdx > firstPost; postIdx--)
    {
        // Find the post's username
        var userName = postList[postIdx].querySelector('.name_area');
        for(var userIdx = 0; userIdx < blockedUserList.length; userIdx++)
        {
            if(blockedUserList[userIdx] == userName.innerText)
            {
                postList[postIdx].remove();
            }
        }
    }
})();