GameMale
登陆 / 注册 搜索

USERCENTER

SEARCHSITE

搜索

查看: 143|回复: 10
收起左侧

[实用工具] 【油猴脚本】监测违禁词自动举报 ★

[复制链接] |关注本帖

SCP-s-1889-第二页Futūrum(未来)无尽的怀表『随时随地开启!』被释放的灵魂我已倾听,我已感受,我已思考十字叶章『随时随地开启!』可怖的眼球男巫之歌

    动机
    最近看到文学区版主肥鱼发布了新的针对文学区近期出现的普遍性违规情况进行的归纳总结,加强了对文学区的管理。

    鱼鱼提到了一个问题:
    看见包含和谐词汇的欢迎举报惹,看不过来惹
    所以写了这个脚本,看是否能解决痛点。助力肥鱼整顿文学区,还能美美蹭到举报奖励金币+2,何乐而不为惹(

    使用方法

    • 在下方的forbiddenWords中,填充你认为的违禁词,放在【''】中并用【,】隔开。
    • 在泥潭“搜索-高级-关键词-全文-文学创作-时间倒序”找到含关键词的帖子。关键词填入“违禁词1|违禁词2|违禁词3|……”用竖线隔开则只要包含任意一个违禁词都会被搜出来。
    • Ctrl+鼠标左键后台打开网页,等待网页加载完成后自动举报。
    • 举报完成后关闭网页,等待+2金币到账。

    代码

    这个脚本是临时调教GPT写的,所以比较粗糙,主打一个力大砖飞,没有用到泥潭内置的showWindow()函数,而是直接让脚本在页面加载完全后模拟点击,所以速度可能稍慢但无伤大雅。也是因为这个原因,还未全面测试,所以可能存在一些小BUG,欢迎反馈惹~
    @Name @Match
    1. // ==UserScript==
    2. // @name         【监测违禁词自动举报 - 力大砖飞版 - 还未全面测试可能存在BUG】
    3. // @namespace    http://tampermonkey.net/
    4. // @version      0.3
    5. // @description  仅适用于 搜索 - 高级 - 全文搜索特定关键词 后出现在搜索结果中的页面链接
    6. // @author       Your Name
    7. // @Match        https://www.gamemale.com/forum.php?mod=viewthread&tid=*&highlight=*
    8. // @grant        none
    9. // ==/UserScript==

    10. (function() {
    11.     'use strict';
    12.     //使用方法
    13.     //1. 在下方的forbiddenWords中,填充你认为的违禁词,放在''中并用,隔开。
    14.     //2. 在泥潭“搜索-高级-关键词-全文-文学创作-时间倒序”找到含关键词的帖子。关键词填入“违禁词1|违禁词2|违禁词3|……”用竖线隔开则只要包含任意一个违禁词都会被搜出来。
    15.     //3. Ctrl+鼠标左键后台打开网页,等待网页加载完成后自动举报。
    16.     //4. 举报完成后关闭网页,等待+2金币到账。

    17.     // List of forbidden words
    18.     const forbiddenWords = ['违禁词1', '违禁词2', '违禁词3','违禁词4','违禁词5','违禁词6','违禁词7','违禁词8','违禁词9']; // 替换为实际的违禁词

    19.     // Function to check for forbidden words
    20.     function checkForForbiddenWords(text) {
    21.         let foundWords = [];
    22.         forbiddenWords.forEach(word => {
    23.             if (text.includes(word)) {
    24.                 foundWords.push(word);
    25.             }
    26.         });
    27.         return foundWords;
    28.     }

    29.     // Function to report forbidden words
    30.     function reportForbiddenWords(foundWords) {
    31.         if (foundWords.length > 0) {
    32.             // Click the first report button
    33.             var reportButton = document.querySelector('tbody > tr:nth-child(4) > td.plc > div > div > p > a:nth-child(2)');
    34.             if (reportButton) {
    35.                 reportButton.click();

    36.                 // Wait for the report window to appear
    37.                 setTimeout(function() {
    38.                     // Select "Other" option
    39.                     var otherOption = document.querySelector('input[type="radio"][value="其他"]');
    40.                     if (otherOption) {
    41.                         otherOption.click();
    42.                     }

    43.                     // Fill in the report message
    44.                     var reportMessage = document.querySelector('#report_message');
    45.                     if (reportMessage) {
    46.                         reportMessage.value = '违禁词:' + foundWords.join(', ');
    47.                     }

    48.                     // Submit the report form
    49.                     var reportSubmit = document.querySelector('#report_submit');
    50.                     if (reportSubmit) {
    51.                         reportSubmit.click();
    52.                     }
    53.                 }, 1000); // Adjust the timeout as needed
    54.             } else {
    55.                 console.log('Report button not found.');
    56.             }
    57.         }
    58.     }

    59.     // Wait for the page to fully load
    60.     window.addEventListener('load', function() {
    61.         // Select the target element
    62.         var targetElement = document.querySelector('tbody > tr:first-child > td.plc:last-child > div.pct:last-child > div.pcb:last-child > div.t_fsz:first-child > table > tbody > tr');

    63.         // Check if the target element exists
    64.         if (targetElement) {
    65.             // Get the text content of the target element
    66.             var textContent = targetElement.innerText;

    67.             // Check for forbidden words
    68.             var foundWords = checkForForbiddenWords(textContent);

    69.             // Report forbidden words if found
    70.             reportForbiddenWords(foundWords);
    71.         } else {
    72.             // Log error message if the target element is not found
    73.             console.log('Target element not found.');
    74.         }
    75.     });
    76. })();
    复制代码



    来自群组: 星象占卜

    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有账号?立即注册

    x
    回复

    使用道具 举报

    BIG BOSS虚空之海的鲸雄躯的昇格爬行植物Ⓛ探险三杰士爬行植物Ⓡ

      回复

      使用道具 举报

      敖蜃星炼金之心召唤古代战士神秘商店贵宾卡收到情书小丑与格雷与星光璀璨『住在GM村』水泡术石肤术黑暗交易

        好的好的,今晚整改不完就不睡了
        话说这样真的可以吗?不会增加文学区管理很多工作量吗?肥鱼大大哭晕在厕所
        回复

        使用道具 举报

        不曾寄出的信件『随时随地开启!』漂洋小船『随时随地开启!』冒险用指南针破损的旧书丛林的鸟飞走了雪王的心脏人鱼之泪幽灵竹筒

          回复

          使用道具 举报

          百相千面-晦永远的克叔業火死鬥实现梦想官复原职虚空之海的鲸Zootopia幸运女神的微笑『逆境中的幸运女神』御医神兔

            回复

            使用道具 举报

            Dante王者之盾V (DMC5)巴基克里斯·埃文斯绯红女巫官复原职霍格沃兹魔法学校

              回复

              使用道具 举报

              光子之海瑞雪兆丰年,生灵万物新荒野大镖客:救赎 II赛博朋克2077

                诶行动力好强,如果举报掉了的文章是会被隐藏吗?还是会被直接删掉,酱紫也许会掉很多贴呢。为什么不能直接论坛在发帖时进行和谐词替换呢?这样不就从根本上杜绝了问题吗?
                  收起(2)
                回复

                使用道具 举报

                亚索月影狼晓月终焉旅行骰子!卡利亚权杖

                  现已加入泥潭赚金币脚本合集(bushi)
                  还是希望大家发帖前能多自查一下,减轻管理员的工作量惹!
                  回复

                  使用道具 举报

                  『住在GM村』格拉迪欧拉斯雪王的心脏『星河碎片』『灰域来音』预知水晶球炽天使之拥『伊黎丝的赞词』纯真护剑『随时随地开启!』

                    回复

                    使用道具 举报

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

                    本版积分规则

                    文字版|手机版|小黑屋|GameMale

                    GMT+8, 2024-11-25 05:51 , Processed in 0.119964 second(s), 77 queries , Redis On.

                    Copyright © 2013-2024 GameMale

                    All Rights Reserved.

                    快速回复 返回列表