Advertisement
Guest User

role tagger

a guest
Jul 16th, 2019
134
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.54 KB | None | 0 0
  1. // ==UserScript==
  2. // @run-at document-end
  3. // @name EM Role Tagger
  4. // @namespace http://tampermonkey.net/
  5. // @version 1.0
  6. // @description Tag a role by using $Role!
  7. // @author Shwartz99
  8. // @contributor nearbeer
  9. // @match https://epicmafia.com/game*
  10. // @grant none
  11. // ==/UserScript==
  12.  
  13. var roles = {};
  14. var intervalID; //the ID of the 2 second interval
  15.  
  16. (function() {
  17. 'use strict';
  18. $.get("https://epicmafia.com/role/suggested?display=grid&page=1&sortby=votes&type=all", function(data) {
  19. console.log(role_data);
  20. roles = data.data;
  21. roleDescriptor();
  22. intervalID = window.setInterval(roleDescriptor,2000); //iterate every 2 seconds
  23. });
  24. })();
  25.  
  26. function roleDescriptor() {
  27. try {
  28. document.querySelectorAll(".msg:not(.quote), .log").forEach(function(p) {
  29. if(!p.emrd) {
  30. var message = p.innerHTML;
  31. var tokens = message.split(/[ /[.,\/#!%\^&\*;:{}=\-_`~()\]?]/).filter(c => c.length > 0);
  32. var delims = message.split(/[^ /[.,\/#!%\^&\*;:{}=\-_`~()\]?]/).filter(c => c.length > 0);
  33. if(/[ /[.,\/#!%\^&\*;:{}=\-_`~()\]?]/.test(message[0])) tokens = [""].concat(tokens);
  34. delims[delims.length] = "";
  35. //console.log(message);
  36. //console.log(tokens);
  37. //console.log(delims);
  38. var rebuiltStr = "";
  39. var i = 0;
  40. tokens.forEach(function(token) {
  41. if(token.startsWith("$")) {
  42. var ltoken = token.slice(1).toLowerCase();
  43. //console.log(ltoken);
  44. var tag = null;
  45. roles.forEach(function(role) {
  46. if(role.roleid === ltoken) {
  47. tag = role.id;
  48. }
  49. });
  50. }
  51. if(tag) {
  52. rebuiltStr += "<span class=\"rolecont toggleroles tt roleimg role-"+ltoken+"\" data-rid="+tag+" data-type=\"roleinfo\" style=\"display:inline-block\"><a href=\"https://epicmafia.com/role/"+tag+"\" target=\"_blank\"></a></span>"+delims[i];
  53. } else {
  54. rebuiltStr += token+delims[i];
  55. }
  56. i++;
  57. });
  58. p.innerHTML = rebuiltStr;
  59. p.emrd = true;
  60. }
  61. });
  62. }
  63. catch(e) {
  64. alert(e);
  65. clearInterval(intervalID);
  66. }
  67. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement