diff --git a/commands/textedit/morse.js b/commands/textedit/morse.js index 6b86ab7c..a57a9921 100644 --- a/commands/textedit/morse.js +++ b/commands/textedit/morse.js @@ -36,7 +36,12 @@ const morse = { "6": "-....", "7": "--...", "8": "---..", - "9": "----." + "9": "----.", + " ": " ", + ".": ".-.-.-", + "?": "..--..", + ",": "--..--", + "'": ".----." }; module.exports = class MorseCommand extends Command { @@ -68,8 +73,8 @@ module.exports = class MorseCommand extends Command { if (message.channel.type !== 'dm') { if (!message.channel.permissionsFor(this.client.user).hasPermission(['SEND_MESSAGES', 'READ_MESSAGES'])) return; } - const text = args.text; - const encoded = translator.letterTrans(text, morse); + const text = args.text.toLowerCase(); + const encoded = translator.letterTrans(text, morse).split('').join(' '); return message.say(encoded); } }; diff --git a/functions/translator.js b/functions/translator.js index b3fd63c1..98c99250 100644 --- a/functions/translator.js +++ b/functions/translator.js @@ -3,7 +3,7 @@ module.exports.wordTrans = (text, words) => { let translation = []; for (let i = 0; i < text.length; i++) { const word = text[i].toLowerCase(); - const wordPuncStrip = word.replace(/[.,?!]/g, ''); + const wordPuncStrip = word.replace(/[\[\\^$.|?*+()\]]/g, ''); if (words[wordPuncStrip]) { const reg = new RegExp(wordPuncStrip, 'gi'); translation.push(word.replace(reg, words[wordPuncStrip])); @@ -19,10 +19,9 @@ module.exports.letterTrans = (text, letters) => { text = text.split(''); let translation = []; for (let i = 0; i < text.length; i++) { - const letter = text[i].toLowerCase(); + const letter = text[i]; if (letters[letter]) { - const reg = new RegExp(letter, 'gi'); - translation.push(letter.replace(reg, letters[letter])); + translation.push(letters[letter]); } else { translation.push(letter);