Resaltador

Resalta los mensajes que contengan ciertas palabras en el chat de kongregate.com.

  1. // ==UserScript==
  2. // @name Resaltador
  3. // @namespace Klatu
  4. // @version 11
  5. // @description Resalta los mensajes que contengan ciertas palabras en el chat de kongregate.com.
  6. // @author Klatu
  7. // @match http://www.kongregate.com/games/*/*
  8. // @grant none
  9. // ==/UserScript==
  10.  
  11. addEventListener('load', function(){
  12. //a menos que se especifique lo contrario, podés editar de acá...
  13. var COLOR_FONDO=localStorage.klatuColorFondo||'purple', //el script acepta los colores que acepta CSS, es decir, colores en los siguientes formatos: 'color' siendo color el nombre de un color en inglés,
  14. COLOR_TEXTO=localStorage.klatuColorTexto||'white', //'#RGB' o '#RRGGBB' siendo R, G y B números del 0 al 9 o letras de la a a la f, 'rgb(R, G, B)' siendo R, G y B números del 0 al 255 y
  15. COLOR_USUARIO=localStorage.klatuColorUsuario||'white', //'rgba(R, G, B, A)' siendo R, G y B números del 0 al 255 y A siendo un número del 0 al 1
  16. COLOR_TIMESTAMP=localStorage.klatuColorTimestamp||'white',
  17. COLOR_REPLY=localStorage.klatuColorReply||'white';
  18.  
  19. window.klatu=window.klatu||{}; //no editar
  20. klatu.resaltador={}; //no editar
  21. klatu.resaltador.VACIAR_COMPLETAMENTE=false;
  22. //hasta acá
  23.  
  24. klatu.style=klatu.style||document.createElement('style');
  25. klatu.resaltador.actualizarStyle=function(colores){
  26. if(colores.texto) klatu.style.innerHTML+=
  27. '.resaltado{'+
  28. ' color:'+colores.texto+' !important;'+
  29. '}';
  30. if(colores.fondo) klatu.style.innerHTML+=
  31. '.resaltado{'+
  32. ' background-color:'+colores.fondo+' !important;'+
  33. '}';
  34. if(colores.usuarios) klatu.style.innerHTML+=
  35. '.resaltado .chat_message_window_username{'+
  36. ' color:'+colores.usuarios+' !important;'+
  37. ' font-weight: bold;'+
  38. '}';
  39. if(colores.replyLinks) klatu.style.innerHTML+=
  40. '.resaltado .reply_link{'+
  41. ' color:'+colores.replyLinks+' !important;'+
  42. '}';
  43. if(colores.timestamps) klatu.style.innerHTML+=
  44. '.resaltado .timestamp {'+
  45. ' color:'+colores.timestamps+' !important;'+
  46. '}';
  47. };
  48. klatu.resaltador.actualizarStyle({texto:COLOR_TEXTO, usuarios:COLOR_USUARIO, fondo:COLOR_FONDO, replyLinks:COLOR_REPLY, timestamps:COLOR_TIMESTAMP});
  49.  
  50. klatu.resaltador.actualizarRegExps=function(){
  51. klatu.resaltador.regExpAResaltar=[];
  52. for(var i=0; i<klatu.resaltador.palabrasAResaltar.length; i++){
  53. klatu.resaltador.regExpAResaltar.push(new RegExp(klatu.resaltador.palabrasAResaltar[i], 'i'));
  54. }
  55. };
  56.  
  57. klatu.resaltador.PALABRAS_INICIALES_A_RESALTAR=active_user.username(); //separar por ', '
  58.  
  59. klatu.resaltador.palabrasAResaltar=(localStorage.klatuPalabrasAResaltar||klatu.resaltador.PALABRAS_INICIALES_A_RESALTAR).toLowerCase().split(', ');
  60. klatu.resaltador.actualizarRegExps();
  61. document.head.appendChild(klatu.style);
  62. holodeck.addChatCommand('agregarapodos', function(a, b){
  63. var apodos=b.substring(('/agregarapodos ').length).split(', ');
  64. klatu.resaltador.palabrasAResaltar=Array.prototype.concat(klatu.resaltador.palabrasAResaltar, apodos);
  65. localStorage.klatuPalabrasAResaltar=klatu.resaltador.palabrasAResaltar.join(', ');
  66. klatu.resaltador.actualizarRegExps();
  67. return!1;
  68. });
  69. holodeck.addChatCommand('quitarapodos', function(a, b){
  70. var i, apodos=b.substring(('/quitarapodos ').length).split(', ');
  71. for(i=0; i<apodos.length; i++) klatu.resaltador.palabrasAResaltar.splice(klatu.resaltador.palabrasAResaltar.indexOf(apodos[i]), 1);
  72. localStorage.klatuPalabrasAResaltar=klatu.resaltador.palabrasAResaltar.join(', ');
  73. klatu.resaltador.actualizarRegExps();
  74. return!1;
  75. });
  76. holodeck.addChatCommand('sacarapodos', function(a, b){
  77. var i, apodos=b.substring(('/sacarapodos ').length).split(', ');
  78. for(i=0; i<apodos.length; i++) klatu.resaltador.palabrasAResaltar.splice(klatu.resaltador.palabrasAResaltar.indexOf(apodos[i]), 1);
  79. localStorage.klatuPalabrasAResaltar=klatu.resaltador.palabrasAResaltar.join(', ');
  80. klatu.resaltador.actualizarRegExps();
  81. return!1;
  82. });
  83. holodeck.addChatCommand('vaciarapodos', function(){
  84. klatu.resaltador.palabrasAResaltar=klatu.resaltador.VACIAR_COMPLETAMENTE?[]:klatu.resaltador.PALABRAS_INICIALES_A_RESALTAR.split(', ');
  85. localStorage.klatuPalabrasAResaltar=klatu.resaltador.VACIAR_COMPLETAMENTE?undefined:klatu.PALABRAS_INICIALES_A_RESALTAR;
  86. klatu.resaltador.actualizarRegExps();
  87. return!1;
  88. });
  89. holodeck.addChatCommand('resaltarfondo', function(a, b){
  90. var color=b.substring(('/resaltarfondo ').length);
  91. localStorage.klatuColorFondo=color;
  92. klatu.resaltador.actualizarStyle({fondo:color});
  93. return!1;
  94. });
  95. holodeck.addChatCommand('resaltartexto', function(a, b){
  96. var color=b.substring(('/resaltartexto ').length);
  97. localStorage.klatuColorTexto=color;
  98. klatu.resaltador.actualizarStyle({texto:color});
  99. return!1;
  100. });
  101. holodeck.addChatCommand('resaltartimestamps', function(a, b){
  102. var color=b.substring(('/resaltartimestamps ').length);
  103. localStorage.klatuColorTimestamps=color;
  104. klatu.resaltador.actualizarStyle({timestamps:color});
  105. return!1;
  106. });
  107. holodeck.addChatCommand('resaltarusuarios', function(a, b){
  108. var color=b.substring(('/resaltarusuarios ').length);
  109. localStorage.klatuColorUsuarios=color;
  110. klatu.resaltador.actualizarStyle({usuarios:color});
  111. return!1;
  112. });
  113. holodeck.addChatCommand('resaltarreplylinks', function(a, b){
  114. var color=b.substring(('/resaltarreplylinks ').length);
  115. localStorage.klatuColorReply=color;
  116. klatu.resaltador.actualizarStyle({replyLinks:color});
  117. return!1;
  118. });
  119. holodeck.addChatCommand('listarregexp', function(a, b){
  120. var str='Las expresiones regulares resaltadas son: ';
  121. for(var i=0; i<klatu.resaltador.regExpAResaltar.length; i++) str+=klatu.resaltador.regExpAResaltar[i]+', ';
  122. str=str.substring(0, str.length-2)+'.';
  123. holodeck._active_dialogue.kongBotMessage(str);
  124. return!1;
  125. });
  126.  
  127. ChatDialogue.prototype.displayUnsanitizedMessageAntesDeResaltador=ChatDialogue.prototype.displayUnsanitizedMessage;
  128. ChatDialogue.prototype.displayUnsanitizedMessage=function(a,b,c,d){
  129. var resaltar=false, i;
  130. for(i=0; i<klatu.resaltador.regExpAResaltar.length; i++){
  131. if(a!=active_user.username()&&!d.private&&klatu.resaltador.regExpAResaltar[i].exec(b)){
  132. if(c.class) c.class+=' resaltado';
  133. else c.class='resaltado';
  134. break;
  135. }
  136. }
  137. this.displayUnsanitizedMessageAntesDeResaltador(a,b,c,d);
  138. };
  139. });

QingJ © 2025

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