Are you sure you want to go to an external site to donate a monetary value?
WARNING: Some countries laws may supersede the payment processors policy such as the GDPR and PayPal. While it is highly appreciated to donate, please check with your countries privacy and identity laws regarding privacy of information first. Use at your utmost discretion.
Verifiquei aqui, esse comportamento é do novo chat da UOL. Quando você bloqueia alguém, o chat te joga para "Todos".
Script funcionando:
// ==UserScript== // @name Enfeita frases bate papo uol beta // @version 0.0 // @description Enfeita frases bate papo uol beta // @author megaLucario // @match http://batepapo.uol.com.br/beta/* // @grant none // ==/UserScript== 'use strict'; var enfeites = function(){ var scope = angular.element($('#sendBtn')).scope(); var oldSendMsg = scope.sendMsg; scope.sendMsg = function() { scope.text = "#" + scope.text + "#"; oldSendMsg(); } } var enfeitesInterval = setInterval(function(){ if(document.querySelector('#chatMessageSend')){ enfeites(); clearInterval(enfeitesInterval); } }, 100);
O que foi feito nele?
Na função "enfeites()" eu recuperei o escopo que o botão "sendBtn" faz parte e atribui ele à uma variável.
Atribui também à uma variável a função "nativa" de envio de mensagens, que está no escopo como "sendMsg".
Tendo o escopo e a função original salvas e seguras em variáveis locais, redefini a função nativa "sendMsg" do escopo, interceptando o texto no escopo antes mesmo de fazer todo o envio de mensagem. Depois, pra finalizar, basta chamar novamente a função original (que foi atribuída à variável "oldSendMsg").
O resto é só aquele setup do script.