论坛怎么屏蔽帖子啊?我靠真是服了

NeiNei 2026-10-03 10:55 1

立马屏蔽Vmiss的帖子!我指的是所有所有关于Vmiss的相关帖子..真是服了能不能限流啊 天天刷屏 ^-^

最新回复 (46)
  • isevenun 10-03 10:55
    1楼

    那就没办法了

  • insight93 10-03 10:56
    2楼

    是有点反感了

  • 葡式蛋挞 10-03 10:56
    3楼

    现在已经是VmissSeek了

  • lianssss9 10-03 10:57
    4楼

    脚本,用屏蔽词屏蔽

  • NeiNei 楼主 10-03 10:57
    5楼

    @insight93 #2 真的啊 天天刷屏 有点恶心了

  • siyang14 10-03 10:57
    6楼

    有插件可以屏蔽的

  • NeiNei 楼主 10-03 10:57
    7楼

    @isevenun #1 vmiss是什么很厉害的商家吗?天天刷

  • NeiNei 楼主 10-03 10:57
    8楼

    @葡式蛋挞 #3 已经看吐了

  • NeiNei 楼主 10-03 10:57
    9楼

    @lianssss9 #4 脚本发下

  • as020508as 10-03 10:58
    10楼

    怎么搞?我也想问

  • NeiNei 楼主 10-03 10:58
    11楼

    @siyang14 #6 给个插件

  • NeiNei 楼主 10-03 10:58
    12楼

    @as020508as #10 好像有插件脚本

  • ninekey 10-03 10:59
    13楼

    主要是又买不到

  • 老梁 10-03 10:59
    14楼

    在论坛,总有一款鸡能炒起来。

  • siyang14 10-03 11:00
    15楼

    @NeiNei #11

    NS综合插件, 你搜一下, 有人还在维护的

  • NeiNei 楼主 10-03 11:01
    16楼

    @ninekey #13 ?

  • NeiNei 楼主 10-03 11:02
    17楼

    @老梁 #14 主要是有点恶心人了 每次打开论坛就是vmiss

  • six-axis人 10-03 11:02
    18楼

    物极必反,快了快了

  • NeiNei 楼主 10-03 11:02
    19楼

    @siyang14 #15 好的谢谢

  • NeiNei 楼主 10-03 11:03
    20楼

    @six-axis人 #18 论坛官方也该出手管管了 该封就封 也限流

  • 陌生人 10-03 11:10
    21楼

    从昨天开始就已经霸屏了

  • kiss-0927 10-03 11:11
    22楼

    同问

  • NeiNei 楼主 10-03 11:12
    23楼

    @陌生人 #21 对啊 已经看吐了

  • NeiNei 楼主 10-03 11:12
    24楼

    @kiss-0927 #22 问到了喊你

  • lime 10-03 11:13
    25楼

    确实刷屏了,用这个插件吧https://www.nodeseek.com/post-927895-1

  • NeiNei 楼主 10-03 11:16
    26楼

    @lime #25 好的 顶你上去 让有需要的兄弟用到

  • Newbee 10-03 11:16
    27楼

    过了这段时间就好了,支付宝境外立减活动10月12号结束。否则只能屏蔽

  • NeiNei 楼主 10-03 11:17
    28楼

    @Newbee #27 还有不是我说就vmiss那服务器值得吗?我看下一点都不行啊 很垃

  • 我不是豆包 10-03 11:19
    29楼

    @NeiNei #28 很拉?

  • Newbee 10-03 11:19
    30楼

    @NeiNei #28


    不清楚,我是没用过他家的鸡,这次支付宝立减活动我是充的steam点卡余额,他家收款正好符合支付宝立减活动的条件才火的

  • NeiNei 楼主 10-03 11:23
    31楼

    @我不是豆包 #29 不是我说 就vmiss那服务器 白送我都不要

  • NeiNei 楼主 10-03 11:23
    32楼

    @Newbee #30 那不知道了

  • 洗剪吹 10-03 12:23
    33楼

    以前狗都不理,现在大厂都不放货特价,他就成了ns上最靓的仔了

  • Chiaki 10-03 12:28
    34楼

    暂时不看就行了,忙自己的事情去,又不是只有论坛 ^-^

  • moonay 10-03 12:32
    35楼

    先充一波,接着等活动过了再拿出来卖 ^-^

  • 冠希陈 10-03 12:34
    36楼

    开启 大脑自动屏蔽

  • NeiNei 楼主 10-03 12:42
    37楼

    @洗剪吹 #33 哈哈哈哈 狗都不理睬的吗

  • NeiNei 楼主 10-03 12:42
    38楼

    @Chiaki #34 每次打开必刷 已经恶心到了

  • NeiNei 楼主 10-03 12:42
    39楼

    @冠希陈 #36 哟 冠希哥你来了

  • 冠希陈 10-03 12:44
    40楼

    @NeiNei #39 嘿嘿 我来了 我跟你一样感受 大脑已开启自动屏蔽模式了 ^-^

  • Zelensky 10-03 12:44
    41楼

    可以用插件屏蔽

  • NeiNei 楼主 10-03 12:44
    42楼

    @冠希陈 #40 哈哈哈哈 已经厌倦了

  • NeiNei 楼主 10-03 12:45
    43楼

    @Zelensky #41 在了解了

  • 洗剪吹 10-03 12:47
    44楼

    @NeiNei [#37]是的,常年放货但几乎很少有人买,出都是折价

  • A7urT6s9dmV3pR8 10-03 14:09
    45楼

    @NeiNei #9 发布于2026/10/3 10:57:59

    @lianssss9 #4 脚本发下


    // ==UserScript==
    // @name ✅ NodeSeek 💡 高亮 & ❌ 屏蔽
    // @namespace https://github.com/you/nodeseek-hotkey
    // @version 260907
    // @description 高亮和屏蔽 nodeseek.com 论坛帖子标题及用户回复
    // @author Claude 首发于 260907
    // @match https://www.nodeseek.com/*
    // @icon https://www.nodeseek.com/static/image/favicon/favicon-32x32.png
    // @grant none
    // @run-at document-end
    // ==/UserScript==

    (function () {
    'use strict';

    const config = {
    // ❌ 屏蔽关键词(不区分大小写)- 空格分隔
    blockKeywords: 'Vmiss DeepSeek 鹈鹕 国模 意见稿',

    // ✅ 高亮关键词(不区分大小写)- 空格分隔
    highlightKeywords: '免费 白嫖 羊毛 福利 限免 开源 开放 公益 赠送 送出 赠出 邀请码',
    highlightColor: '#2ea44f',

    // ❌ 屏蔽用户黑名单(不区分大小写)- 空格分隔
    blockUsers: '',

    // ✅ 高亮用户名单(不区分大小写)- 空格分隔
    highlightUsers: '',
    highlightUserColor: '#FFD700',

    // ❌ 屏蔽正则
    blockRegexPatterns: [
    /第.{0,3}期/i,
    /招.{0,4}(人|员|募)/i,
    /(问|请问).{0,10}(哪|怎|如何|能不能|可以吗)/i,
    /分享.{0,5}(经验|心得|体验|感受)/i,
    ],
    };

    // ── 解析关键词 ──
    function parseKws(str) {
    return str.trim().split(/\s+/).filter(k => k.length > 0);
    }

    const highlightKwArr = parseKws(config.highlightKeywords);
    const blockKwArr = parseKws(config.blockKeywords);
    const blockUsersArr = parseKws(config.blockUsers).map(u => u.toLowerCase());
    const highlightUsersArr = parseKws(config.highlightUsers).map(u => u.toLowerCase());

    // ── 注入样式 ──
    function injectStyles() {
    const id = 'ns-filter-style';
    document.getElementById(id)?.remove();
    const style = document.createElement('style');
    style.id = id;
    style.textContent = `
    .ns-user-hl {
    background-color: ${config.highlightUserColor} !important;
    color: #333 !important;
    padding: 1px 4px !important;
    border-radius: 4px !important;
    font-weight: bold !important;
    }
    `;
    document.head.appendChild(style);
    }

    injectStyles();
    if (document.readyState === 'loading') document.addEventListener('DOMContentLoaded', injectStyles);
    window.addEventListener('load', injectStyles);

    // ── 判断函数 ──
    function shouldBlock(title) {
    const low = title.toLowerCase();
    if (blockKwArr.some(k => low.includes(k.toLowerCase()))) return true;
    return config.blockRegexPatterns.some(r => r.test(title));
    }

    function shouldHighlight(title) {
    const low = title.toLowerCase();
    return highlightKwArr.some(k => low.includes(k.toLowerCase()));
    }

    function isBlockedUser(name) {
    if (!name) return false;
    return blockUsersArr.includes(name.toLowerCase());
    }

    function isHighlightUser(name) {
    if (!name) return false;
    return highlightUsersArr.includes(name.toLowerCase());
    }

    // ── 关键词高亮(标题内嵌 span)──
    function highlightKwInTitle(el, text) {
    const escaped = highlightKwArr.map(k => k.replace(/[.*+?^${}()|[\]\\]/g, '\\$&'));
    const regex = new RegExp(`(${escaped.join('|')})`, 'gi');
    el.innerHTML = text.replace(regex, match =>
    `<span style="background:${config.highlightColor};color:#fff;padding:1px 3px;border-radius:3px;font-weight:bold">${match}</span>`
    );
    }

    // ── 处理列表帖子行 ──
    // NodeSeek DOM:
    // li.post-list-item
    // .post-title > a ← 标题链接
    // .avatar-normal[data-uid] ← 发帖人头像(data-uid)
    // .avatar-normal img[title]← 发帖人名(部分版本)
    function processRow(row) {
    if (row.dataset.nsFiltered) return;
    row.dataset.nsFiltered = '1';

    const titleLink = row.querySelector('.post-title > a');
    if (!titleLink) return;
    const title = titleLink.textContent.trim();

    // 取发帖人:优先用头像 data-uid 旁边的用户信息,
    // NodeSeek 列表的作者名藏在 .post-meta .author a 或 .avatar img[title]
    const authorEl =
    row.querySelector('.post-meta .author a') ||
    row.querySelector('.post-meta a[href*="/space/"]') ||
    row.querySelector('.nsk-post-meta a[href*="/space/"]');
    const author = authorEl ? authorEl.textContent.trim() : '';

    // 1. 屏蔽用户
    if (author && isBlockedUser(author)) {
    row.style.display = 'none'; return;
    }

    // 2. 屏蔽关键词
    if (shouldBlock(title)) {
    row.style.display = 'none'; return;
    }

    // 3. 高亮用户(整行标题金色底)
    if (author && isHighlightUser(author)) {
    titleLink.classList.add('ns-user-hl'); return;
    }

    // 4. 高亮关键词
    if (shouldHighlight(title)) {
    highlightKwInTitle(titleLink, title);
    }
    }

    // ── 处理帖子详情页回复楼层 ──
    // NodeSeek 帖子页 DOM:
    // .content-item
    // .nsk-content-meta-info .author-info > a ← 楼层作者
    function processReply(item) {
    if (item.dataset.nsFiltered) return;
    // 跳过1楼(帖主)
    const floorNum = item.dataset.index || item.dataset.floor;
    if (floorNum === '0' || floorNum === '1') { item.dataset.nsFiltered = '1'; return; }

    const authorEl = item.querySelector('.nsk-content-meta-info .author-info > a') ||
    item.querySelector('.author-info > a');
    const author = authorEl ? authorEl.textContent.trim() : '';

    item.dataset.nsFiltered = '1';

    if (author && isBlockedUser(author)) {
    item.remove();
    }
    }

    // ── 批量处理 ──
    function processAll() {
    document.querySelectorAll('li.post-list-item').forEach(processRow);
    document.querySelectorAll('.content-item').forEach(processReply);
    }

    processAll();

    // ── MutationObserver 监听动态加载 ──
    const observer = new MutationObserver(mutations => {
    let needList = false, needReply = false;
    for (const m of mutations) {
    for (const node of m.addedNodes) {
    if (node.nodeType !== 1) continue;
    if (node.matches?.('li.post-list-item') || node.querySelector?.('li.post-list-item')) needList = true;
    if (node.matches?.('.content-item') || node.querySelector?.('.content-item')) needReply = true;
    }
    if (m.type === 'childList') {
    const p = m.target.closest?.('li.post-list-item');
    if (p) needList = true;
    const r = m.target.closest?.('.content-item');
    if (r) needReply = true;
    }
    }
    if (needList) document.querySelectorAll('li.post-list-item').forEach(processRow);
    if (needReply) document.querySelectorAll('.content-item').forEach(processReply);
    });

    observer.observe(document.body, {
    childList: true, subtree: true
    });

    // ── 滚动(下拉无限加载)──
    let scrollT;
    window.addEventListener('scroll', () => {
    clearTimeout(scrollT);
    scrollT = setTimeout(processAll, 300);
    }, { passive: true });

    // ── SPA 路由切换 ──
    let lastUrl = location.href;
    new MutationObserver(() => {
    if (location.href !== lastUrl) {
    lastUrl = location.href;
    setTimeout(processAll, 500);
    }
    }).observe(document.body, { childList: true, subtree: true });

    console.log('[NS-Filter v1.0] 已启动 | 高亮词:', highlightKwArr.length, '| 屏蔽词:', blockKwArr.length);
    })();

  • 灰泽满 10-03 14:11
    46楼

    习惯就好 比甲骨文刷屏好多了 之前甲骨文刷屏全是垃圾消息

* 帖子来源NodeSeek
返回