Chat Improvements

Chat improvements script

  1. // ==UserScript==
  2. // @name Chat Improvements
  3. // @namespace http://tampermonkey.net/
  4. // @version 1.0
  5. // @description Chat improvements script
  6. // @author realwdpcker
  7. // @match pixelplace.io/*
  8. // @grant none
  9. // @license MIT
  10. // ==/UserScript==
  11.  
  12. (function() {
  13. 'use strict';
  14.  
  15. const INPUT_SELECTOR = '#chat input[type="text"]';
  16. let lastInputValue = '';
  17. let clearTimer = null;
  18.  
  19. function setupInputWatcher() {
  20. const input = document.querySelector(INPUT_SELECTOR);
  21. if (!input) return;
  22.  
  23. function startClearTimer() {
  24. if (clearTimer) clearTimeout(clearTimer);
  25. clearTimer = setTimeout(() => {
  26. input.value = '';
  27. lastInputValue = '';
  28. }, 5000);
  29. }
  30.  
  31. input.addEventListener('input', () => {
  32. lastInputValue = input.value;
  33. startClearTimer();
  34. });
  35.  
  36. input.addEventListener('blur', () => {
  37. if (!input.value && lastInputValue) {
  38. input.value = lastInputValue;
  39. }
  40. });
  41.  
  42. input.addEventListener('keydown', (event) => {
  43. if (event.key === 'Enter') {
  44. setTimeout(() => {
  45. input.value = '';
  46. lastInputValue = '';
  47. if (clearTimer) clearTimeout(clearTimer);
  48. }, 10);
  49. }
  50. });
  51.  
  52. const form = input.closest('form');
  53. if (form) {
  54. form.addEventListener('submit', () => {
  55. lastInputValue = '';
  56. if (clearTimer) clearTimeout(clearTimer);
  57. });
  58. }
  59. }
  60.  
  61. const observer = new MutationObserver(() => {
  62. const input = document.querySelector(INPUT_SELECTOR);
  63. if (input) {
  64. setupInputWatcher();
  65. observer.disconnect();
  66. }
  67. });
  68.  
  69. observer.observe(document.body, { childList: true, subtree: true });
  70. })();

QingJ © 2025

镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址