From 3f6f4786869b73c2fa98159d29cfab24d88e93c3 Mon Sep 17 00:00:00 2001 From: Daniel Odendahl Jr Date: Wed, 22 Mar 2017 17:10:30 +0000 Subject: [PATCH] Temmie Translator --- commands/textedit/temmie.js | 188 ++++++++++++++++++++++++++++ commands/textedit/translatortest.js | 77 ------------ 2 files changed, 188 insertions(+), 77 deletions(-) create mode 100644 commands/textedit/temmie.js delete mode 100644 commands/textedit/translatortest.js diff --git a/commands/textedit/temmie.js b/commands/textedit/temmie.js new file mode 100644 index 00000000..960c52bb --- /dev/null +++ b/commands/textedit/temmie.js @@ -0,0 +1,188 @@ +const commando = require('discord.js-commando'); + +module.exports = class TemmieCommand extends commando.Command { + constructor(Client){ + super(Client, { + name: 'temmie', + group: 'textedit', + memberName: 'temmie', + description: "Translate text to Temmie speak. (;temmie I am Temmie)", + examples: [";temmie I am Temmie."] + }); + } + + async run(message) { + if(message.channel.type !== 'dm') { + if(!message.channel.permissionsFor(this.client.user).hasPermission(['SEND_MESSAGES', 'READ_MESSAGES'])) return; + } + console.log("[Command] " + message.content); + + let dictionary = { + "i": "Tem", + "me": "Temmie", + "goodbye": "boi", + "bye": "boi", + "later": "boi", + "college": "colleg", + "money": "muns", + "food": "tem flakes", + "snack": "tem flakes", + "snacks": "tem flakes", + "meal": "tem flakes", + "meals": "tem flakes", + "human": "hooman", + "chocolate": "choco", + "cute": "coot", + "allergic": "allergics", + "allergy": "allergics", + "do": "dos", + "does": "dos", + "what": "ppppppppp...", + "who": "ppppppppp...", + "when": "ppppppppp...", + "why": "ppppppppp...", + "where": "ppppppppp...", + "how": "ppppppppp...", + "XD": "xd", + "but": "b-but", + "store": "TEM ShOP", + "restaurant": "TEM ShOP", + "shop": "TEM Shop", + "temmie": "Temmiy", + "sick": "hOlves", + "illness": "hOlves", + "ill": "hOlves", + "disease": "hOlves", + "cat": "tem", + "dog": 'tem', + "hugs": "pets", + "pats": "pets", + "waves": "pets", + "high-fives": "pets", + "fistbumps": "pets", + "hug": "pet", + "pat": "pet", + "wave": "pet", + "high-five": "pet", + "fistbump": "pet", + "hungry": "hungr", + "muscles": "NOT COOT", + "aw": "awwAwa", + "yikes": "OMG!!!!!!", + "ah": "OMG!!!!!!", + "oh": "OMG!!!!!!", + "yipe": "OMG!!!!!!", + "wait": "OMG!!!!!!", + "yes": "YEE!!!!!!", + "no": "NO!!!!!!", + "person": "BARK", + "monster": "munster", + "monsters": "munsters", + "great": "TEM OUTTA TEM", + "awesome": "TEM OUTTA TEM", + "cool": "TEM OUTTA TEM", + "nice": "TEM OUTTA TEM", + "good": "TEM OUTTA TEM", + "walks": "vibrates", + "moves": "vibrates", + "sits": "vibrates", + "goes": "vibrates", + "runs": "vibrates intensely", + "climbs": "vibrates intensely", + "escapes": "vibrates intensely", + "normal": "Bob", + "hmm": "p...", + "okay": "OK", + "lol": "lel", + "enemy": "special enemy", + "villain": "special enemy", + "bad guy": "special enemy", + "badguy": "special enemy", + "school": "skool", + "um": "p...", + "elizabeth": "ebears", + "yeah": "yAYA", + "yea": "yAYA", + "uh-huh": "yAYA", + "vampire": "wampire", + "tired": "*dies*", + "exhausted": "*dies*", + "bored": "*dies*", + "annoyed": "*dies*", + "irritated": "*dies*", + "mad": "*dies*", + "sleepy": "*dies*", + "confused": "*dies*", + "house": "Tem Villag", + "home": "Tem Villag", + "apartment": "Tem Villag", + "world": "Undergroun", + "hotel": "MTT Resort", + "motel": "MTT Resort", + "inn": "MTT Resort", + "cash": "g", + "gold": "g", + "jewels": "g", + "aaron": "NOT COOT", + "boy": "tim", + "girl": "tem", + "we": "tems", + "you": "u", + "your": "ur", + "yours": "urs" + }; + + function translateWord(word) { + let wordTranslate = dictionary[word.toLowerCase()]; + if (wordTranslate === undefined) return word; + else return applyCase(word, wordTranslate); + } + + function applyCase(wordA, wordB) { + if (wordA.length === 1 && wordB.length !== 1) return wordB; + if (wordA === wordA.toUpperCase()) return wordB.toUpperCase(); + if (wordA === wordA.toLowerCase()) return wordB.toLowerCase(); + let firstChar = wordA.slice(0, 1); + let otherChars = wordA.slice(1); + if (firstChar === firstChar.toUpperCase() && otherChars === otherChars.toLowerCase()) { + return wordB.slice(0, 1).toUpperCase() + wordB.slice(1).toLowerCase(); + } + return wordB; + } + + function isLetter(character) { + if (character.search(/[a-zA-Z'-]/) === -1) return false; + return true; + } + + const translator = function (text) { + let translatedText = ""; + let word = ""; + for (let i = 0; i < text.length; i += 1) { + let character = text[i]; + if (isLetter(character)) { + word += character; + } else { + if (word != "") { + let wordTranslate = translateWord(word); + translatedText += wordTranslate; + word = ""; + } + translatedText += character; + } + } + + if (word !== "") translatedText += translateWord(word); + + return translatedText; + }; + + let thingToTranslate = message.content.split(" ").slice(1).join(" "); + let temspeak = translator(thingToTranslate); + let noing = temspeak.split("ing").join("in"); + let noExclaim = noing.split("!").join("!!!!111!11!1!!!1!!!1111!"); + let noApostrophe = noExclaim.split("'").join(""); + let translated = noApostrophe; + message.channel.send(translated); + } +}; \ No newline at end of file diff --git a/commands/textedit/translatortest.js b/commands/textedit/translatortest.js deleted file mode 100644 index 918a945a..00000000 --- a/commands/textedit/translatortest.js +++ /dev/null @@ -1,77 +0,0 @@ -const commando = require('discord.js-commando'); - -module.exports = class TranslatorCommand extends commando.Command { - constructor(Client){ - super(Client, { - name: 'translatetest', - group: 'util', - memberName: 'translatetest', - description: "A test for a custom translator.", - examples: [";servers"] - }); - } - hasPermission(msg) { - return this.client.isOwner(msg.author); - } - - async run(message) { - if(message.channel.type !== 'dm') { - if(!message.channel.permissionsFor(this.client.user).hasPermission(['SEND_MESSAGES', 'READ_MESSAGES'])) return; - } - console.log("[Command] " + message.content); - - let dictionary = { - "cow": "moo", - "cat": "meow" - }; - - function translateWord(word) { - let wordTranslate = dictionary[word.toLowerCase()]; - if (wordTranslate === undefined) return word; - else return applyCase(word, wordTranslate); - } - - function applyCase(wordA, wordB) { - if (wordA.length === 1 && wordB.length !== 1) return wordB; - if (wordA === wordA.toUpperCase()) return wordB.toUpperCase(); - if (wordA === wordA.toLowerCase()) return wordB.toLowerCase(); - let firstChar = wordA.slice(0, 1); - let otherChars = wordA.slice(1); - if (firstChar === firstChar.toUpperCase() && otherChars === otherChars.toLowerCase()) { - return wordB.slice(0, 1).toUpperCase() + wordB.slice(1).toLowerCase(); - } - return wordB; - } - - function isLetter(character) { - if (character.search(/[a-zA-Z'-]/) === -1) return false; - return true; - } - - const translator = function (text) { - let translatedText = ""; - let word = ""; - for (let i = 0; i < text.length; i += 1) { - let character = text[i]; - if (isLetter(character)) { - word += character; - } else { - if (word != "") { - let wordTranslate = translateWord(word); - translatedText += wordTranslate; - word = ""; - } - translatedText += character; - } - } - - if (word !== "") translatedText += translateWord(word); - - return translatedText; - }; - - let thingToTranslate = message.content.split(" ").slice(1).join(" "); - let translated = translator(thingToTranslate); - message.channel.send(translated); - } -}; \ No newline at end of file