User:Cheeseskates/chat.js

////////////////////////////////////////////////////////////////////////////////

/* -- -- */ ////////////////////////////////////////////////////////////////////////////////
 * * Name:       Global Chat JavaScript                                      |
 * * Author:     Sophiedp - Cheeseskates                                     |
 * * Description: This is my chat.js that can load on all wikis like         |
 * global.js can. It is thanks to Sophiedp's script you can   |
 * put in TamperMonkey.                                       |
 * https://openuserjs.org/scripts/LunarTwilight/Load_global.js_in_chat/source |
 * put in TamperMonkey.                                       |
 * https://openuserjs.org/scripts/LunarTwilight/Load_global.js_in_chat/source |
 * https://openuserjs.org/scripts/LunarTwilight/Load_global.js_in_chat/source |

//————————————————————————————————————————————————————————————————————————————// // Direct JavaScript code // //————————————————————————————————————————————————————————————————————————————//

/**/ ///————————————————————— Major Direct JavaScript code ———————————————————————/// /**/

/* -- -- */
 * * Name:       Slash commands                                              |
 * * Author:     Cheeseskates                                                |
 * * Description: Using slash commands, I can generate preset messages       |
 * through typing a short word or phrase that would be similar |
 * to the preset message. This helps send messages quickly    |
 * while taking action as fast as possible.                   |
 * e.g. warning and kicking.                                  |
 * while taking action as fast as possible.                   |
 * e.g. warning and kicking.                                  |

// Make it generate the message when I press Enter or Space $('[name="message"]').keypress(function (event) {   if (event.which == 32 || event.which == 13) {        switch (this.value) {

// Children's Online Privacy Protection Act (COPPA) case "/coppa": this.value = "COPPA - You must be 13 or older to legally have an account on Wikia."; break;

// Swearing case "/swear": this.value = "Please don't swear,"; break;

// Spamming case "/spam": this.value = "Please don't spam,"; break;

// Trolling case "/troll": this.value = "Please don't troll,"; break;

// Disruption case "/disrupt": this.value = "Please don't disrupt the chat,"; break;

// Caps lock warning case "/caps": this.value = "Please don't comment with excessive capslock characters,"; break;

// Derogatory terms case "/slur": this.value = "Please don't use slurs,"; break;

// Not safe for work content case "/nsfw": this.value = "Please don't post NSFW comments,"; break;

// Shocking content case "/shock": this.value = "Please don't post shocking content,"; break;

// Mini-modding case "/minimod": this.value = "Please don't mini-mod,"; break;

// Roleplay case "/rp": this.value = "Please don't roleplay on the main chat,"; break;

// Advertising case "/ad": this.value = "Please don't advertise unrelated content,"; break;

// Goodbye, user. case "/bye": this.value = "Take it easy."; break; }   } });

/* -- -- */
 * * Name:       ChatBinaryButton                                            |
 * * Author:     Count of Howard (Author),                                   |
 * code by Penguin-Pal, OneTwoThreeFall, らり牛ちゃん         |
 * * Description: ChatBinaryButton adds a "Binary!" button to the Chat's     |
 * message box, converting message text to binary.            |
 * * Changes:    Standardized                                                |
 * message box, converting message text to binary.            |
 * * Changes:    Standardized                                                |
 * * Changes:    Standardized                                                |

$(function {    if (mw.config.get("wgCanonicalSpecialPageName") === "Chat") {        mw.util.addCSS('.Write [name="message"] {' + "width: calc(100% - 70px);" + "}" + "#ChatBinaryButton {" + "position: absolute;" + "bottom: 25px;" + "right: 50px;" + "}" + "input + #ChatBinaryButton:last-child {" + "bottom: 12px;" + "right: 12px;" + "}");        var month;        var $link = $(' Binary! ');       var evaluate = function  {            var baseName = $("#Write textarea").val;            var p = baseName.split("");            var o = p.map(e);            month = o.join(" ");        };        var e = function (a) {            var codeSegments;            var i = 0;            for (i < a.length; i += 1) {                codeSegments = a.charCodeAt(i).toString(2);            }            return codeSegments.length === 8 ? codeSegments : "0" + codeSegments;        };        $link.click(function  { var dataName = $(this).data("iteration") || 1; switch (dataName) { case 1: evaluate; $("#Write textarea").val(""); $("#Write textarea").val(month); break; case 2: $("#Write textarea").val(""); mainRoom.socket.send((new models.ChatEntry({                   roomId: this.roomId,                    name: wgUserName,                    text: month                })).xport); break; }           dataName += 1; if (dataName > 2) { dataName = 1; }           $(this).data("iteration", dataName); });       $(".Write").append($link);    } });

/**/ ///————————————————————— Minor Direct JavaScript code ———————————————————————/// /**/ // Add when necessary

//// // ——————————————————— End Direct Import JavaScript Code ———————————————————— // ////

//————————————————————————————————————————————————————————————————————————————// // Script Configurations -// //————————————————————————————————————————————————————————————————————————————//

// ChatBlockButton Configuration chatBlockReason = "Misbehaving. (Appeal)", "Disruption. (Appeal)", "Spamming. (Appeal)", "Trolling. (Appeal)", "Banditry (e.g. raiding). (Appeal)", "Shock. (Appeal)", "Cross-wiki drama. (Appeal)", "Cross-wiki Vandal/troll.", "Vandal/spam bot.", "Sockpuppeting. (Appeal)", "Violating Wikia's ToU.",

// QuickModTools Configuration window.QuickModTools = { quickreasons: [ "Misbehaving. (Appeal)", "Disruption. (Appeal)", "Spamming. (Appeal)", "Trolling. (Appeal)", "Banditry (e.g. raiding). (Appeal)", "Shock. (Appeal)", "Cross-wiki drama. (Appeal)", "Cross-wiki Vandal/troll.", "Vandal/spam bot.", "Sockpuppet. (Appeal)", "Connection issues. (Appeal)", "Violating Wikia's ToU.", ],   defbanreason: "Misbehaving. Appeal.", defbanlength: "1200" };

//// // ——————————————————————— End Configuration Section ———————————————————————— // ////

//————————————————————————————————————————————————————————————————————————————// // Imports ---// //————————————————————————————————————————————————————————————————————————————//

$(function {    importArticles({ type: "script", articles: [ "u:dev:MediaWiki:BlinkingTabAlert.js", "u:dev:MediaWiki:ChatModHover/code.js", "u:dev:MediaWiki:ChatTimestamps/code.js", "u:dev:MediaWiki:FasterBanModule/code.js", "u:dev:MediaWiki:GiveChatModPrompt/code.js", "u:dev:MediaWiki:MessageBlocker/code.js", "u:dev:MediaWiki:QuickModTools/code.js", "u:steven-universe:User:Andrey Andrey/chat.js", "u:botcentral:User:Ditto Creeper Bot/beta", ]   }); });

//// // —————————————————— End ImportArticles section and page ——————————————————— // ////