IdlePixel Websocket Messenger

Sends websocket messages

当前为 2024-04-10 提交的版本,查看 最新版本

  1. // ==UserScript==
  2. // @name IdlePixel Websocket Messenger
  3. // @namespace lbtechnology.info
  4. // @version 1.0.0
  5. // @description Sends websocket messages
  6. // @author Lux-Ferre
  7. // @license MIT
  8. // @match *://idle-pixel.com/login/play*
  9. // @grant none
  10. // @require https://greasyfork.org/scripts/441206-idlepixel/code/IdlePixel+.js?anticache=20220905
  11. // ==/UserScript==
  12. (function() {
  13. 'use strict';
  14. class WSMessengerPlugin extends IdlePixelPlusPlugin {
  15. constructor() {
  16. super("wsmessenger", {
  17. about: {
  18. name: GM_info.script.name,
  19. version: GM_info.script.version,
  20. author: GM_info.script.author,
  21. description: GM_info.script.description
  22. },
  23. });
  24. this.previous = "";
  25. }
  26.  
  27. createPanel(){
  28. IdlePixelPlus.addPanel("wsmessenger", "Websocket Messenger", function() {
  29. const content = `
  30. <div>
  31. <form onsubmit='event.preventDefault(); IdlePixelPlus.plugins.wsmessenger.sendMessage()'>
  32. <div class="d-flex flex-fill">
  33. <div class="col-11">
  34. <input type="text" class="w-100" id="wsmessenger_input" placeholder="message">
  35. </div>
  36. <div class="col-1">
  37. <input type="submit" class="w-100" value="Send">
  38. </div>
  39. </div>
  40. </form>
  41. </div>
  42. `
  43. return content
  44. });
  45. }
  46.  
  47. onLogin(){
  48. const onlineCount = $(".top-bar .gold:not(#top-bar-admin-link)");
  49. onlineCount.before(`
  50. <a href="#" class="hover float-end link-no-decoration" onclick="event.preventDefault(); IdlePixelPlus.setPanel('wsmessenger')" title="Websocket Messenger">WSM&nbsp;&nbsp;&nbsp;</a>
  51. `);
  52. this.createPanel()
  53. }
  54. sendMessage(){
  55. const inputbox = $("#wsmessenger_input")
  56. const message = inputbox.val()
  57. inputbox.val("")
  58. IdlePixelPlus.sendMessage(message)
  59. }
  60. }
  61. const plugin = new WSMessengerPlugin();
  62. IdlePixelPlus.registerPlugin(plugin);
  63. })();