Ahab / Trade/Global chat discord logger

// ==UserScript==
// @name         Trade/Global chat discord logger
// @namespace    torn.com
// @version      1.7
// @description  Log Trade/Global chats to discord
// @author       Ahab [1735214]
// @include      *torn.com*
// @updateURL    https://openuserjs.org/meta/Ahab/TradeGlobal_chat_discord_logger.meta.js
// @grant        GM.xmlHttpRequest
// @license      MIT
// ==/UserScript==

var global_webhook = "DISCORD WEBHOOK HERE"
var trade_webhook = "DISCORD WEBHOOK HERE"
var act = 0

document.addEventListener('visibilitychange', function (event) {
    if (document.hidden) {
        act = 1
    } else {
        act = 0
    }
});

function listen(fn){
    fn = fn || console.log;
    let property = Object.getOwnPropertyDescriptor(MessageEvent.prototype, "data");
    const data = property.get;
    function lookAtMessage() {
        let socket = this.currentTarget instanceof WebSocket;
        if (!socket) {
            return data.call(this);
        }
        let msg = data.call(this);
        Object.defineProperty(this, "data", { value: msg } ); //anti-loop
        fn({ data: msg, socket:this.currentTarget, event:this });
        return msg;
    }
    property.get = lookAtMessage;
    Object.defineProperty(MessageEvent.prototype, "data", property);
}

listen( ({data}) => send(data))

function send(data){
      if(data.substring(0, 4) == "MESG" && act == 0){
          var jsonObject = JSON.parse(data.slice(4))
          if(jsonObject.channel_url === "public_global"){
              GM.xmlHttpRequest({
                  method: "POST",
                  url: global_webhook,
                  data: JSON.stringify({"embeds": [{"title": jsonObject.user.name+" ["+jsonObject.user.guest_id+"]",
                                                    "url": "https://www.torn.com/profiles.php?XID="+jsonObject.user.guest_id,
                                                    "description": jsonObject.message,
                                                    "color": "16711680",
                                                    "footer": {"text": "Torn City Time (tct) - "+new Date(jsonObject.last_updated_at).toJSON().replace('T', ' ').slice(0, -5)}
                                                   }]}),
                  headers: {
                      "Content-Type": "application/json"
                  },
              });
          }else if(jsonObject.channel_url === "public_trade"){
              GM.xmlHttpRequest({
                  method: "POST",
                  url: trade_webhook,
                  data: JSON.stringify({"embeds": [{"title": jsonObject.user.name+" ["+jsonObject.user.guest_id+"]",
                                                    "url": "https://www.torn.com/profiles.php?XID="+jsonObject.user.guest_id,
                                                    "description": jsonObject.message,
                                                    "color": "16711680",
                                                    "footer": {"text": "Torn City Time (tct) - "+new Date(jsonObject.last_updated_at).toJSON().replace('T', ' ').slice(0, -5)}
                                                   }]}),
                  headers: {
                      "Content-Type": "application/json"
                  },
              });
          }
      }
};