Roblox Signature

Auto-inserts signature in posts and private messages.

Чтобы установить этот скрипт, вы сначала должны установить расширение браузера, например Tampermonkey, Greasemonkey или Violentmonkey.

Чтобы установить этот скрипт, вы сначала должны установить расширение браузера, например Tampermonkey или Violentmonkey.

Чтобы установить этот скрипт, вы сначала должны установить расширение браузера, например Tampermonkey или Violentmonkey.

Чтобы установить этот скрипт, вы сначала должны установить расширение браузера, например Tampermonkey или Userscripts.

Чтобы установить этот скрипт, сначала вы должны установить расширение браузера, например Tampermonkey.

Чтобы установить этот скрипт, вы должны установить расширение — менеджер скриптов.

(у меня уже есть менеджер скриптов, дайте мне установить скрипт!)

Чтобы установить этот стиль, сначала вы должны установить расширение браузера, например Stylus.

Чтобы установить этот стиль, сначала вы должны установить расширение браузера, например Stylus.

Чтобы установить этот стиль, сначала вы должны установить расширение браузера, например Stylus.

Чтобы установить этот стиль, сначала вы должны установить расширение — менеджер стилей.

Чтобы установить этот стиль, сначала вы должны установить расширение — менеджер стилей.

Чтобы установить этот стиль, сначала вы должны установить расширение — менеджер стилей.

(у меня уже есть менеджер стилей, дайте мне установить скрипт!)

// ==UserScript==
// @name       Roblox Signature
// @version    1.1
// @description Auto-inserts signature in posts and private messages.
// @icon http://breadlord.org/breadlord.png
// @match http://www.roblox.com/Forum/AddPost.aspx*
// @match http://www.roblox.com/messages/compose*
// @namespace https://greasyfork.org/users/11096
// @grant       GM_getValue
// @grant       GM_setValue
// ==/UserScript==
var textbox;
var postbutton;
var type = 0;

var sig = GM_getValue("sig", "Press 'Edit Signature' to change this!");

if (document.getElementById("ctl00_cphRoblox_Createeditpost1_PostForm_PostBody")) {
	type = 0;
	console.log("It's a forum post!");
	textbox = document.getElementById("ctl00_cphRoblox_Createeditpost1_PostForm_PostBody");
	postButton = document.getElementById("ctl00_cphRoblox_Createeditpost1_PostForm_PostButton");
//} else if (document.getElementById("body").getAttribute("class") == "messages-reply-box text-box text") {
} else if ((document.getElementsByClassName("messages-reply-box")[0] === null) === false) {
	console.log("It's a PM!");
	type = 1;
	textbox = document.getElementsByClassName("messages-reply-box")[0];
	postButton = document.getElementById("send-btn");
}
var buttonParent = postButton.parentElement;

var button = document.createElement("Input");
var button2 = document.createElement("Input");

window.onload = function () { changeSig(); };

function changeSig() {
	console.log(type);
	if (type === 1) {
		textbox = document.getElementsByClassName("messages-reply-box")[0];
		sig = GM_getValue("sig");
		if (textbox.value.search("\n\n" + sig) == -1) {
			console.log("No signature already, inserting now.");
			textbox.value = textbox.value + "\n\n" + sig;
		}
	} else {
		textbox = document.getElementById("ctl00_cphRoblox_Createeditpost1_PostForm_PostBody");
		sig = GM_getValue("sig");
		if (textbox.value.search("\n\n" + sig) == -1) {
			console.log("No signature already, inserting now.");
			textbox.value = textbox.value + "\n\n" + sig;
		}
	}
}

function editSig() {
    var newsig = prompt("Enter a new signature:");
    if (newsig === "") return;
	GM_setValue("sig",newsig);
	changeSig();
}

button.type = "button";
button.id = "rblxsig";
button.value = " Edit Signature ";
button.className = "translate btn-control btn-control-medium";
button.onclick = function() {editSig()};

button2.type = "button";
button2.id = "rblxsigins";
button2.value = " Add Signature ";
button2.className = "translate btn-control btn-control-medium";
button2.onclick = function() {
	changeSig();
};

buttonParent.innerHTML =  "&nbsp" + buttonParent.innerHTML;
buttonParent.insertBefore(button, buttonParent.firstChild);
buttonParent.insertBefore(button2, buttonParent.firstChild);
setTimeout(changeSig, 6000);