您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
任意文字列を任意間隔で連投してくれるスクリプトを追加します。
// ==UserScript== // @name 5連投(Feederチャット) // @namespace https://greasyfork.org/users/297030 // @version 4.4 // @description 任意文字列を任意間隔で連投してくれるスクリプトを追加します。 // @author You // @match *.x-feeder.info/*/ // @exclude *.x-feeder.info/*/sp/ // @exclude *.x-feeder.info/*/settings/** // @require https://greasyfork.org/scripts/396472-yaju1919/code/yaju1919.js?version=798050 // @grant GM.setValue // @grant GM.getValue // ==/UserScript== (function() { 'use strict'; const addBtn = (h, title, func) => { // ボタンを追加する関数 return $("<button>").text(title).click(func).appendTo(h); } const h = $("<div>").css({ "background-color": "darkgray", "border": "3px solid gray", "border-radius": "10px", }).prependTo("#main_right").append("<h1>5連投</h1><br>"); let oldPostText, btn_flag; addBtn(h, "実行", () => { // 入力欄の内容を連投 if (btn_flag) return; const oldNewActiveForm = newActiveForm; // 現在の投稿入力欄の行数 const oldInputText = $(`#${newActiveForm}`).val(); // 現在の投稿内容入力欄の内容 const postInterval = h.find("input").val(); const totalPostTime = (postInterval * 5000) + 5000; // 実行ボタンの硬直時間 // 重複と空を削除した配列を作成 let array = []; h.find("textarea").each((i, e) => { array.push(e.value); }); array = array.filter((x, i, self) => { return self.indexOf(x) === i; }).filter(v => v); //----------------------------- h.find("textarea").each((i, e) => { if (e.value === "" || e.value === oldPostText || $("#post_form_name").val() === "") return; btn_flag = true; // 連投が終わって5秒後にbtn_flagをfalseにする if (i + 1 === array.length) { setTimeout(() => { btn_flag = false; }, totalPostTime); } //------------------------------------------- setTimeout(() => { if (newActiveForm === "post_form_single") $("#input_type").click(); // 投稿内容入力欄が一行なら複数行に変える $(`#${newActiveForm}`).val(e.value); $("#post_btn").click(); // 投稿内容入力欄を元に戻す if (oldNewActiveForm !== newActiveForm) $("#input_type").click(); $(`#${newActiveForm}`).val(oldInputText); //------------------------- }, (postInterval * 1000) * (i + 1)); oldPostText = e.value; }); }); addBtn(h, "クリア", () => { // 入力欄をクリア if (btn_flag) return; h.find("textarea").each((i, e) => { e.value = ""; }); }); addBtn(h, "簡単入力", () => { // 入力欄にサンプルテキストを入力 if (btn_flag) return; h.find("textarea").each((i, e) => { e.value = `Hello World!${i+1}\nHello World!${i+1} BR`; }); }); yaju1919.addInputNumber(h, { title: "投稿間隔", placeholder: "投稿間隔を入力(単位:秒)", save: "AM_postInterval", width: "100%", value: 1, min: 0, max: Infinity, }); h.append("<br>"); let elm; for (let i = 0; i < 5; i++) { // 連投内容の入力欄 elm = yaju1919.addInputText(h, { placeholder: `${i+1}投目の内容`, save: `AM_inputContText${i+1}`, width: "100%", textarea: true, hankaku: false, }); } h.append("<br>"); })();