您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Automatically sends messages to a Snailcat on web browser
// ==UserScript== // @name Snailcat Auto DM Bot // @namespace http://tampermonkey.net/ // @version 3.4 // @description Automatically sends messages to a Snailcat on web browser // @match https://discord.com/* // @grant none // ==/UserScript== (function() { 'use strict'; console.log("Script started"); function sendMessage(content) { const messageInput = document.querySelector('div[contenteditable="true"][data-slate-editor="true"]'); if (!messageInput) { console.error('Message input field not found. Retrying...'); setTimeout(() => sendMessage(content), 2000); return; } messageInput.focus(); // Clear existing content by selecting all and deleting const selection = window.getSelection(); const range = document.createRange(); range.selectNodeContents(messageInput); selection.removeAllRanges(); selection.addRange(range); const deleteEvent = new InputEvent('beforeinput', { bubbles: true, cancelable: true, inputType: 'deleteContentBackward', }); messageInput.dispatchEvent(deleteEvent); // Insert new content using 'insertText' inputType for (let i = 0; i < content.length; i++) { const char = content[i]; const inputEvent = new InputEvent('beforeinput', { data: char, bubbles: true, cancelable: true, inputType: 'insertText', }); messageInput.dispatchEvent(inputEvent); } // Send the message by simulating 'Enter' keydown event const enterEvent = new KeyboardEvent('keydown', { key: 'Enter', code: 'Enter', keyCode: 13, which: 13, bubbles: true, cancelable: true, }); messageInput.dispatchEvent(enterEvent); console.log("Message sent:", content); } // Send both messages immediately, with retry logic if input is not available sendMessage('snailcat beg'); sendMessage('snailcat daily'); // Send "snailcat beg" every 10 minutes with an additional 10-second buffer (610,000 milliseconds) setInterval(() => sendMessage('snailcat beg'), 610000); // Send "snailcat daily" once every hour with an additional 1-minute buffer (3,600,000 milliseconds) setTimeout(function dailyMessage() { sendMessage('snailcat daily'); setTimeout(dailyMessage, 3600000); // Schedule next daily message }, 3600000); // Initial delay for the first daily message after immediate send })();