主机论坛

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 176|回复: 9

怎么彻底拉黑一个用户?

[复制链接]

170

主题

1891

回帖

5642

积分

论坛元老

Rank: 8Rank: 8

积分
5642
发表于 2024-9-24 09:40:42 | 显示全部楼层 |阅读模式
rt

已知设置黑名单是没有用的。
回复

使用道具 举报

155

主题

780

回帖

2413

积分

金牌会员

Rank: 6Rank: 6

积分
2413
发表于 2024-9-24 12:07:15 | 显示全部楼层
离开这个论坛
回复

使用道具 举报

24

主题

3503

回帖

8770

积分

论坛元老

Rank: 8Rank: 8

积分
8770
发表于 2024-9-24 09:43:19 | 显示全部楼层
配合油猴脚本:
===========================
// ==UserScript==
// @name         hostloc 自动屏蔽黑名单用户
// @namespace    http://tampermonkey.net/
// @version      0.2.1
// @description  自动获取 hostloc 的黑名单,并屏蔽相应帖子
// @author       susc
// @match        http*://*.hostloc.com/*
// @grant        unsafeWindow
// @license      GPL
// ==/UserScript==

(async function () {
    'use strict';
    // 脚本内部使用,在此处修改无效
    var CONFIG = {
        blockList: [],
        blockedPIDs: [],
        blockedCount: 0
    }

    // 根据页数获取黑名单
    async function getBlackListByPage(page) {
        let response
        try {
            response = await fetch(`/home.php?mod=space&do=friend&view=blacklist&page=${page}`)
        } catch (e) {
            console.log('获取黑名单失败')
            console.log(e)
            return []
        }
        let html = await response.text()
        let regList = html.match(/<a\shref="space-uid-.+html">([^<].+)<\/a>/g)
        if (!regList) {
            return []
        }
        let blacklist = regList.map(i => i.replace(/<.+?>/g, ''))
        console.log(`获取第${page}页黑名单成功: ${blacklist}`)
        return blacklist
    }

    // 获取黑名单
    let currentPage = 1
    let finish = false
    while (!finish) {
        console.log(`获取第${currentPage}页黑名单`)
        let blacklist = await getBlackListByPage(currentPage)
        if (blacklist.length === 0) {
            finish = true
        }
        else {
            CONFIG.blockList = CONFIG.blockList.concat(blacklist)
            currentPage++
        }
    }

    // 帖子列表页面
    var authorNodes = document.querySelectorAll('th + .by cite a')
    authorNodes.forEach(function (item) {
        if (CONFIG.blockList.includes(item.innerText.trim())) {
            var $wrapper = item.parentElement.parentElement.parentElement.parentElement
            var $list = $wrapper.parentElement
            $list.removeChild($wrapper)
            CONFIG.blockedCount++
        }
    })

    // 帖子列表点击下一页
    var $postList = document.querySelector('#threadlisttableid')
    if ($postList) {
        var post_mo = new MutationObserver(function (mList) {
            authorNodes = document.querySelectorAll('th + .by cite a')
            authorNodes.forEach(function (item) {
                if (CONFIG.blockList.includes(item.innerText.trim())) {
                    var $wrapper = item.parentElement.parentElement.parentElement.parentElement
                    var $list = $wrapper.parentElement
                    $list.removeChild($wrapper)
                    CONFIG.blockedCount++
                    console.log('Blocked: ' + CONFIG.blockedCount)
                }
            })
        })
        post_mo.observe($postList, {
            childList: true
        })
    }

    // 帖子详情页面
    authorNodes = document.querySelectorAll('.authi a.xw1');
    authorNodes.forEach(function (item) {
        if (CONFIG.blockList.includes(item.innerText.trim())) {
            var $wrapper = item.parentElement.parentElement.parentElement.parentElement.parentElement.parentElement.parentElement.parentElement
            var id = Number(item.parentElement.parentElement.parentElement.parentElement.parentElement.parentElement.parentElement.id.replace('pid', ''))
            CONFIG.blockedPIDs.push(id)
            var $list = $wrapper.parentElement
            $list.removeChild($wrapper)
            CONFIG.blockedCount++
        }
    })

    // 针对隐藏楼层
    if (unsafeWindow.blockedPIDs) {
        CONFIG.blockedPIDs.forEach(function (id) {
            for (var i = 0; i < unsafeWindow.blockedPIDs.length; i++) {
                if (unsafeWindow.blockedPIDs === id) {
                    unsafeWindow.blockedPIDs.splice(i, 1)
                    CONFIG.blockedCount++
                }
            }
        })
        if (!unsafeWindow.blockedPIDs.length) {
            document.querySelector('#hiddenpoststip').style.display = 'none'
        }
    }

    // 针对点评
    let $specialComments = document.querySelectorAll('.pstl')
    $specialComments.forEach(function (item) {
        let $author = item.querySelector('.psta .xi2')
        if ($author && CONFIG.blockList.includes($author.innerText.trim())) {
            let commentId = item.parentElement.id
            item.parentElement.removeChild(item)
            // 若点评列表无内容,则隐藏点评列表
            if (document.querySelectorAll(`#${commentId} .pstl`).length === 0) {
                document.querySelector(`#${commentId}`).style.display = 'none'
            }
            CONFIG.blockedCount++
        }
    })
    console.log('Blocked: ' + CONFIG.blockedCount)
})();
回复

使用道具 举报

170

主题

1891

回帖

5642

积分

论坛元老

Rank: 8Rank: 8

积分
5642
 楼主| 发表于 2024-9-24 09:48:48 | 显示全部楼层
plyu007 发表于 2024-9-24 09:43
配合油猴脚本:
===========================
// ==UserScript==

点评通知也能解决吗?
回复

使用道具 举报

24

主题

3503

回帖

8770

积分

论坛元老

Rank: 8Rank: 8

积分
8770
发表于 2024-9-24 09:43:00 | 显示全部楼层
不知道哦,我一直没收到点评通知,如果没,你点评通知里面再点一个屏蔽
回复

使用道具 举报

2

主题

102

回帖

374

积分

中级会员

Rank: 3Rank: 3

积分
374
发表于 2024-9-24 09:52:48 | 显示全部楼层
如果拉黑他,他就不能回复和点评你的贴子,这样就完美了
回复

使用道具 举报

170

主题

1891

回帖

5642

积分

论坛元老

Rank: 8Rank: 8

积分
5642
 楼主| 发表于 2024-9-24 11:52:11 | 显示全部楼层
茶颜悦色 发表于 2024-9-24 11:52
如果拉黑他,他就不能回复和点评你的贴子,这样就完美了

是的。但是貌似只能折叠帖子。还是能回复和点评。
回复

使用道具 举报

32

主题

689

回帖

1966

积分

金牌会员

Rank: 6Rank: 6

积分
1966
发表于 2024-9-24 17:40:29 | 显示全部楼层
我也想知道
回复

使用道具 举报

5

主题

3214

回帖

6945

积分

论坛元老

Rank: 8Rank: 8

积分
6945
发表于 2024-9-24 11:52:00 | 显示全部楼层
hxuf 发表于 2024-9-24 17:40
是的。但是貌似只能折叠帖子。还是能回复和点评。


只是你看不见他,包括他的任何主题回复点评等,他是能看见你的
任何插件都只能实现这样单向的屏蔽,不可能不允许他看你和回复你等
回复

使用道具 举报

55

主题

501

回帖

1419

积分

金牌会员

Rank: 6Rank: 6

积分
1419
发表于 2024-9-24 17:45:11 | 显示全部楼层
什么奇怪的需求,冲浪冲多了吧
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|主机论坛

GMT+8, 2024-12-28 21:05 , Processed in 0.080387 second(s), 19 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表