From 788a2cc9f47867ba6759e3728620d5802070b121 Mon Sep 17 00:00:00 2001 From: Daniel Odendahl Jr Date: Wed, 22 Mar 2017 16:40:59 +0000 Subject: [PATCH] Attempt to Move the Translator to the Command File --- commands/textedit/translatortest.js | 54 +++++++++++++++++++++++++++-- src/translatetest.js | 51 --------------------------- 2 files changed, 52 insertions(+), 53 deletions(-) delete mode 100644 src/translatetest.js diff --git a/commands/textedit/translatortest.js b/commands/textedit/translatortest.js index 11d1a4c8..918a945a 100644 --- a/commands/textedit/translatortest.js +++ b/commands/textedit/translatortest.js @@ -1,5 +1,4 @@ const commando = require('discord.js-commando'); -const translator = require('../../src/translatetest.js'); module.exports = class TranslatorCommand extends commando.Command { constructor(Client){ @@ -20,8 +19,59 @@ module.exports = class TranslatorCommand extends commando.Command { 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.translate(thingToTranslate); + let translated = translator(thingToTranslate); message.channel.send(translated); } }; \ No newline at end of file diff --git a/src/translatetest.js b/src/translatetest.js deleted file mode 100644 index 87b0e36a..00000000 --- a/src/translatetest.js +++ /dev/null @@ -1,51 +0,0 @@ -var dictionary = { - "cow": "moo", - "cat": "meow" -}; - -function translateWord(word) { - var 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(); - var firstChar = wordA.slice(0, 1); - var 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; -} - -module.exports.dictionary = dictionary; - -module.exports.translate = function (text) { - var translatedText = ""; - var word = ""; - for (var i = 0; i < text.length; i += 1) { - var character = text[i]; - if (isLetter(character)) { - word += character; - } else { - if (word != "") { - var wordTranslate = translateWord(word); - translatedText += wordTranslate; - word = ""; - } - translatedText += character; - } - } - - if (word !== "") translatedText += translateWord(word); - - return translatedText; -}; \ No newline at end of file