Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- var from_language = "en", to_language = "fr";
- async function translate(sourceText, sourceLang, targetLang) {
- var url = "https://translate.googleapis.com/translate_a/single?client=gtx&sl="
- + sourceLang + "&tl=" + targetLang + "&dt=t&q=" + encodeURI(sourceText);
- var result = JSON.parse(await (await fetch(url)).text());
- var translatedText = result[0][0][0];
- return translatedText;
- }
- OWOP.elements.chatInput.parentNode.removeChild(OWOP.elements.chatInput);
- var newChat = OWOP.elements.chatInput = document.createElement("textarea");
- newChat.id = "chat-input"; newChat.draggable = false; newChat.type = "text"; newChat.maxLength = 512; newChat.placeholder = "Chat here";
- newChat.style.display = "initial"; newChat.style.height = "16px";
- document.getElementById("chat").appendChild(newChat);
- function scrollChatToBottom(callback) {
- var dontScrollIfNotTop = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
- var shouldScroll = !dontScrollIfNotTop || OWOP.elements.chatMessages.scrollHeight - OWOP.elements.chatMessages.scrollTop === OWOP.elements.chatMessages.clientHeight;
- if (callback) callback(); // add all elements here
- if (shouldScroll) OWOP.elements.chatMessages.scrollTop = OWOP.elements.chatMessages.scrollHeight;
- }
- function openChat() {
- OWOP.elements.chat.className = "active selectable";
- OWOP.elements.devChat.className = "active selectable";
- OWOP.elements.chatMessages.className = "active";
- scrollChatToBottom();
- }
- function closeChat() {
- OWOP.elements.chat.className = "";
- OWOP.elements.devChat.className = "";
- OWOP.elements.chatMessages.className = "";
- OWOP.elements.chatInput.blur();
- scrollChatToBottom();
- }
- var chatHistory = [];
- var historyIndex = 0;
- newChat.addEventListener("keydown", async function (event) {
- event.stopPropagation();
- if (historyIndex === 0) {
- chatHistory[0] = newChat.value;
- }
- var keyCode = event.which || event.keyCode;
- switch (keyCode) {
- case 27:
- closeChat();
- break;
- case 13:
- if (!event.shiftKey) {
- event.preventDefault();
- var text = newChat.value;
- historyIndex = 0;
- chatHistory.unshift(text);
- /*if (misc.storageEnabled) {
- if (text.startsWith("/adminlogin ")) {
- misc.localStorage.adminlogin = text.slice(12);
- } else if (text.startsWith("/modlogin ")) {
- misc.localStorage.modlogin = text.slice(10);
- } else if (text.startsWith("/nick")) {
- var nick = text.slice(6);
- if (nick.length) {
- misc.localStorage.nick = nick;
- } else {
- delete misc.localStorage.nick;
- }
- } else if (text.startsWith("/pass ") && misc.world) {
- var pass = text.slice(6);
- misc.worldPasswords[_networking.net.protocol.worldName] = pass;
- saveWorldPasswords();
- }
- }*/
- if (!event.ctrlKey) {
- text = OWOP.chat.sendModifier(text);
- }
- if (event.altKey) {
- var oldText = text;
- text = await translate(text, from_language, to_language);
- if(window.aaaaa) console.debug("translation result: ", text, ", from: ", oldText);
- }
- OWOP.net.protocol.sendMessage(text);
- newChat.value = '';
- newChat.style.height = "16px";
- event.stopPropagation();
- }
- break;
- case 38:
- // Arrow up
- if (event.shiftKey && historyIndex < chatHistory.length - 1) {
- historyIndex++;
- newChat.value = chatHistory[historyIndex];
- newChat.style.height = 0;
- newChat.style.height = Math.min(newChat.scrollHeight - 8, 16 * 4) + "px";
- }
- break;
- case 40:
- // Arrow Down
- if (event.shiftKey && historyIndex > 0) {
- historyIndex--;
- newChat.value = chatHistory[historyIndex];
- newChat.style.height = 0;
- newChat.style.height = Math.min(newChat.scrollHeight - 8, 16 * 4) + "px";
- }
- break;
- }
- });
- newChat.addEventListener("keyup", function (event) {
- event.stopPropagation();
- var keyCode = event.which || event.keyCode;
- if (keyCode == 13 && !event.shiftKey) {
- closeChat();
- }
- });
- newChat.addEventListener("input", function (event) {
- newChat.style.height = 0;
- newChat.style.height = Math.min(newChat.scrollHeight - 8, 16 * 4) + "px";
- });
- newChat.addEventListener("focus", function (event) {
- if (!OWOP.mouse.buttons) {
- openChat();
- } else {
- newChat.blur();
- }
- });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement