Roblox Signature

Auto-inserts signature in posts and private messages.

  1. // ==UserScript==
  2. // @name Roblox Signature
  3. // @version 1.1
  4. // @description Auto-inserts signature in posts and private messages.
  5. // @icon http://breadlord.org/breadlord.png
  6. // @match http://www.roblox.com/Forum/AddPost.aspx*
  7. // @match http://www.roblox.com/messages/compose*
  8. // @namespace https://greatest.deepsurf.us/users/11096
  9. // @grant GM_getValue
  10. // @grant GM_setValue
  11. // ==/UserScript==
  12. var textbox;
  13. var postbutton;
  14. var type = 0;
  15.  
  16. var sig = GM_getValue("sig", "Press 'Edit Signature' to change this!");
  17.  
  18. if (document.getElementById("ctl00_cphRoblox_Createeditpost1_PostForm_PostBody")) {
  19. type = 0;
  20. console.log("It's a forum post!");
  21. textbox = document.getElementById("ctl00_cphRoblox_Createeditpost1_PostForm_PostBody");
  22. postButton = document.getElementById("ctl00_cphRoblox_Createeditpost1_PostForm_PostButton");
  23. //} else if (document.getElementById("body").getAttribute("class") == "messages-reply-box text-box text") {
  24. } else if ((document.getElementsByClassName("messages-reply-box")[0] === null) === false) {
  25. console.log("It's a PM!");
  26. type = 1;
  27. textbox = document.getElementsByClassName("messages-reply-box")[0];
  28. postButton = document.getElementById("send-btn");
  29. }
  30. var buttonParent = postButton.parentElement;
  31.  
  32. var button = document.createElement("Input");
  33. var button2 = document.createElement("Input");
  34.  
  35. window.onload = function () { changeSig(); };
  36.  
  37. function changeSig() {
  38. console.log(type);
  39. if (type === 1) {
  40. textbox = document.getElementsByClassName("messages-reply-box")[0];
  41. sig = GM_getValue("sig");
  42. if (textbox.value.search("\n\n" + sig) == -1) {
  43. console.log("No signature already, inserting now.");
  44. textbox.value = textbox.value + "\n\n" + sig;
  45. }
  46. } else {
  47. textbox = document.getElementById("ctl00_cphRoblox_Createeditpost1_PostForm_PostBody");
  48. sig = GM_getValue("sig");
  49. if (textbox.value.search("\n\n" + sig) == -1) {
  50. console.log("No signature already, inserting now.");
  51. textbox.value = textbox.value + "\n\n" + sig;
  52. }
  53. }
  54. }
  55.  
  56. function editSig() {
  57. var newsig = prompt("Enter a new signature:");
  58. if (newsig === "") return;
  59. GM_setValue("sig",newsig);
  60. changeSig();
  61. }
  62.  
  63. button.type = "button";
  64. button.id = "rblxsig";
  65. button.value = " Edit Signature ";
  66. button.className = "translate btn-control btn-control-medium";
  67. button.onclick = function() {editSig()};
  68.  
  69. button2.type = "button";
  70. button2.id = "rblxsigins";
  71. button2.value = " Add Signature ";
  72. button2.className = "translate btn-control btn-control-medium";
  73. button2.onclick = function() {
  74. changeSig();
  75. };
  76.  
  77. buttonParent.innerHTML = "&nbsp" + buttonParent.innerHTML;
  78. buttonParent.insertBefore(button, buttonParent.firstChild);
  79. buttonParent.insertBefore(button2, buttonParent.firstChild);
  80. setTimeout(changeSig, 6000);