Advertisement
MeKLiN2

Untitled

Jan 28th, 2024
75
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.24 KB | None | 0 0
  1. // ==UserScript==
  2. // @name Intercept StumbleChat WebSocket Messages
  3. // @namespace http://tampermonkey.net/
  4. // @version 2024-01-28
  5. // @description Intercept WebSocket messages on StumbleChat and display them
  6. // @author You
  7. // @match https://stumblechat.com/room/*
  8. // @icon https://www.google.com/s2/favicons?sz=64&domain=stumblechat.com
  9. // @grant none
  10. // ==/UserScript==
  11.  
  12. (function() {
  13. 'use strict';
  14.  
  15. // Create a function to display WebSocket messages
  16. function displayWebSocketMessage(message) {
  17. const webSocketMessagesDiv = document.getElementById("webSocketMessages");
  18. if (webSocketMessagesDiv) {
  19. webSocketMessagesDiv.innerHTML += message + "<br>";
  20. webSocketMessagesDiv.scrollTop = webSocketMessagesDiv.scrollHeight;
  21. }
  22. }
  23.  
  24. // Override WebSocket constructor to intercept WebSocket creation
  25. const originalWebSocket = window.WebSocket;
  26. window.WebSocket = function(url, protocols) {
  27. console.log('WebSocket URL:', url);
  28.  
  29. // Call original WebSocket constructor
  30. const ws = new originalWebSocket(url, protocols);
  31.  
  32. // Event listener for receiving messages
  33. ws.addEventListener('message', event => {
  34. displayWebSocketMessage(event.data);
  35. });
  36.  
  37. return ws;
  38. };
  39.  
  40. // Method to create the div for displaying WebSocket messages
  41. function createWebSocketMessagesDiv() {
  42. const div = document.createElement("div");
  43. div.id = "webSocketMessages";
  44. div.style.border = "1px solid #ccc";
  45. div.style.overflow = "auto";
  46. div.style.maxHeight = "200px";
  47. // Set font color to white
  48. div.style.color = "#ffffff";
  49.  
  50. // Locate the chat-position div
  51. const chatPositionDiv = document.getElementById("chat-position");
  52.  
  53. // Append your custom div to the chat-position div
  54. if (chatPositionDiv) {
  55. chatPositionDiv.appendChild(div);
  56. } else {
  57. // If chat-position div not found, append to document body
  58. document.body.appendChild(div);
  59. }
  60. }
  61.  
  62. // Call the function to create the WebSocket messages div
  63. createWebSocketMessagesDiv();
  64. })();
  65.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement