您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
A chat bot for WhatsApp Web, with some basic commands. Check console for log.
// ==UserScript== // @name WhatsApp Web - Chat Bot // @namespace WACB // @version 0.1 // @description A chat bot for WhatsApp Web, with some basic commands. Check console for log. // @author Royalgamer06 // @match https://web.whatsapp.com/ // @grant GM_xmlhttpRequest // @grant unsafeWindow // @run-at document-idle // ==/UserScript== var jq = document.createElement('script'); jq.onload = function() { jQuery.noConflict(); console.log('jQuery loaded'); setTimeout(Main, 3500); }; jq.src = "//ajax.googleapis.com/ajax/libs/jquery/2.2.2/jquery.min.js"; document.getElementsByTagName('head')[0].appendChild(jq); function Main() { console.log("[WACB] Waiting for chat to load"); jQuery("#pane-side").on("click", function() { setTimeout(listenToChat, 350); }); } function listenToChat() { console.log("[WACB] Listening to chat"); /*jQuery(".message-list").bind("DOMSubtreeModified", function() { var new_msg = jQuery(".selectable-text").last().text(); console.log("[WACB] New chat message: \n" + new_msg); if (new_msg.indexOf("!") === 0) { var cmd_line = new_msg.substring(1); var cmd = cmd_line.split(" ")[0]; var args = cmd_line.split(" ").shift(); if (cmd == "about") { sendMsg("I am a chat bot, made by Roy van Dijk."); } } });*/ unsafeWindow.sendMsg = function(msg) { console.log("[WACB] Sending message: \n" + msg); var target = document.getElementsByClassName("input")[1]; var eventType = "textInput"; var evt = document.createEvent("TextEvent"); evt.initTextEvent(eventType, true, true, unsafeWindow, msg, 0, "en-US"); target.focus(); target.dispatchEvent(evt); jQuery(".send-container").click(); }; var last_msg = jQuery(".selectable-text").last().text(); setInterval(function() { var new_msg = jQuery(".selectable-text").last().text(); if (new_msg !== last_msg) { console.log("[WACB] New chat message: \n" + new_msg); last_msg = new_msg; if (new_msg.indexOf("!") === 0) { var cmd_line = new_msg.substring(1); var cmd = cmd_line.split(" ")[0]; var args = cmd_line.split(" ").slice(1); if (cmd == "help") { sendMsg("I can do the following commands:"); sendMsg("*!about*: Returns who I am."); sendMsg("*!joke*: Returns a random joke (about Chuck Norris)."); sendMsg("*!weather*: Returns the current weather in Eindhoven."); sendMsg("*!weather <LOCATION>*: Returns the current weather in <LOCATION>."); sendMsg("*!gewis*: Returns the agenda of GEWIS."); sendMsg("(Work in progress)"); } if (cmd == "about") { sendMsg("I am a chat bot."); } if (cmd == "joke") { GM_xmlhttpRequest({ method: "GET", url: "http://api.icndb.com/jokes/random?escape=javascript", onload: function(response) { var json = JSON.parse(response.responseText); sendMsg(json.value.joke); } }); } if (cmd == "weather") { var url = "http://api.apixu.com/v1/current.json?key=d0c5d252848043d6af4210418162706&q=Eindhoven"; if (args.length > 0) { url = "http://api.apixu.com/v1/current.json?key=d0c5d252848043d6af4210418162706&q=" + args[0]; } GM_xmlhttpRequest({ method: "GET", url: url, onload: function(response) { var json = JSON.parse(response.responseText); if (args.length > 0) { if (json.error) { sendMsg("ERROR: Couldn't find location."); } else { sendMsg("It is currently " + json.current.temp_c + "°C in " + args[0]); } } else { sendMsg("It is currently " + json.current.temp_c + "°C in Eindhoven."); } } }); } if (cmd == "gewis") { GM_xmlhttpRequest({ method: "GET", url: "https://www.gewis.nl/activity", onload: function(response) { var acts = jQuery(".agenda-item-body", response.responseText); for (var i = 0; i < acts.length; i++) { sendMsg(jQuery("h4 > a", acts[i]).text().trim() + " - " + jQuery("div.col-md-4 > dl > dd:nth-child(2)", acts[i]).text().trim() + " @ " + jQuery("div.col-md-4 > dl > dd:nth-child(6)", acts[i]).text().trim()); } } }); } } } }, 100); }
QingJ © 2025
镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址