Upload files to 'greasemonkey'
moved from silver-meddlists - but that repo had to go; had a secret (webhook) in plaintext. Which is dead atm anyway.
This commit is contained in:
		
							parent
							
								
									e4387165c3
								
							
						
					
					
						commit
						948eada3ae
					
				
							
								
								
									
										68
									
								
								greasemonkey/twitchactivityfeedwatcher.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										68
									
								
								greasemonkey/twitchactivityfeedwatcher.js
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,68 @@
 | 
			
		||||
// ==UserScript==
 | 
			
		||||
// @name     twitch activity feed watcher
 | 
			
		||||
// @version  1
 | 
			
		||||
// @grant    none
 | 
			
		||||
// @license  MIT
 | 
			
		||||
// @description how about instead of event sub I just open the fuckin window
 | 
			
		||||
// @include https://dashboard.twitch.tv/popout/u/silvermeddlists/stream-manager/activity-feed
 | 
			
		||||
// @namespace silvermeddlists.com
 | 
			
		||||
// ==/UserScript==
 | 
			
		||||
 | 
			
		||||
var observer = new MutationObserver(function(mutations) {
 | 
			
		||||
   mutations.forEach(function(mutation) {
 | 
			
		||||
     console.log(mutation);
 | 
			
		||||
     if ( mutation.type == 'childList' ) {
 | 
			
		||||
       if (mutation.addedNodes.length >= 1) {
 | 
			
		||||
         console.log("added nodes");
 | 
			
		||||
         for(let i = 0; i < mutation.addedNodes.length; i++){
 | 
			
		||||
           let added = mutation.addedNodes[i];
 | 
			
		||||
           let iconNode = added.querySelector(".activity-base-list-item__icon");
 | 
			
		||||
           
 | 
			
		||||
           let type = "unknown";
 | 
			
		||||
           let searchText = "activity-feed-v2-event--";
 | 
			
		||||
           iconNode.classList.forEach(cl => {
 | 
			
		||||
             if(cl.startsWith(searchText)){
 | 
			
		||||
               type = cl.substr(searchText.length);
 | 
			
		||||
               console.log("type is " + type);
 | 
			
		||||
             }
 | 
			
		||||
           });
 | 
			
		||||
           
 | 
			
		||||
       		 let reward = added.querySelector(".activity-base-list-item__title").textContent;
 | 
			
		||||
           let user = added.querySelector(".activity-base-list-item__subtitle button").textContent;
 | 
			
		||||
           let text = "type: " + type + "\ndata: " + reward + " • " + user;
 | 
			
		||||
           let textIncluded = added.querySelector(".activity-base-list-item__subtitle").nextSibling.textContent;
 | 
			
		||||
           if(textIncluded.length > 0){
 | 
			
		||||
              text += " • " + textIncluded;
 | 
			
		||||
           }
 | 
			
		||||
           text = text.substr(0, text.length);
 | 
			
		||||
           
 | 
			
		||||
           let formData = {};
 | 
			
		||||
           formData["content"] = text;
 | 
			
		||||
           console.log("sending: ", formData);
 | 
			
		||||
           
 | 
			
		||||
            var xhttp = new XMLHttpRequest();
 | 
			
		||||
            xhttp.open("POST", [REDACTED], true);
 | 
			
		||||
            xhttp.setRequestHeader("Content-Type", "application/json");
 | 
			
		||||
            xhttp.onreadystatechange = function() {
 | 
			
		||||
              console.log("ready state changed", this);
 | 
			
		||||
            }
 | 
			
		||||
            let result = xhttp.send(JSON.stringify(formData));
 | 
			
		||||
           console.log("sent, survived.", result);
 | 
			
		||||
         }
 | 
			
		||||
       }
 | 
			
		||||
     }
 | 
			
		||||
   });
 | 
			
		||||
});
 | 
			
		||||
 | 
			
		||||
var observerConfig = {
 | 
			
		||||
  subtree: true,
 | 
			
		||||
  attributes: false,
 | 
			
		||||
  childList: true,
 | 
			
		||||
  characterData: true
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
setTimeout(() => {
 | 
			
		||||
  observer.observe(document.querySelector(".simplebar-content"), observerConfig);
 | 
			
		||||
  console.log("I should be watchign");
 | 
			
		||||
}, 2000);
 | 
			
		||||
console.log("hi, hanging a sec so twitch can add");
 | 
			
		||||
		Loading…
	
		Reference in New Issue
	
	Block a user