Add escapeMarkdown util function

This commit is contained in:
Schuyler Cebulskie
2016-10-09 14:32:48 -04:00
parent 3e2d6ccc48
commit 7b571f9729
4 changed files with 9 additions and 2 deletions

View File

@@ -7,6 +7,7 @@ module.exports = {
Collection: require('./util/Collection'),
splitMessage: require('./util/SplitMessage'),
escapeMarkdown: require('./util/EscapeMarkdown'),
Channel: require('./structures/Channel'),
ClientUser: require('./structures/ClientUser'),

View File

@@ -2,6 +2,7 @@ const Attachment = require('./MessageAttachment');
const Embed = require('./MessageEmbed');
const Collection = require('../util/Collection');
const Constants = require('../util/Constants');
const escapeMarkdown = require('../../util/EscapeMarkdown');
/**
* Represents a Message on Discord
@@ -332,7 +333,7 @@ class Message {
* @returns {Promise<Message>}
*/
editCode(lang, content) {
content = this.client.resolver.resolveString(content).replace(/```/g, '`\u200b``');
content = escapeMarkdown(this.client.resolver.resolveString(content), true);
return this.edit(`\`\`\`${lang ? lang : ''}\n${content}\n\`\`\``);
}

View File

@@ -2,6 +2,7 @@ const path = require('path');
const Message = require('../Message');
const MessageCollector = require('../MessageCollector');
const Collection = require('../../util/Collection');
const escapeMarkdown = require('../../util/EscapeMarkdown');
/**
* Interface for classes that have text-channel-like features
@@ -114,7 +115,7 @@ class TextBasedChannel {
if (!options.split.prepend) options.split.prepend = `\`\`\`${lang ? lang : ''}\n`;
if (!options.split.append) options.split.append = '\n```';
}
content = this.client.resolver.resolveString(content).replace(/```/g, '`\u200b``');
content = escapeMarkdown(this.client.resolver.resolveString(content), true);
return this.sendMessage(`\`\`\`${lang ? lang : ''}\n${content}\n\`\`\``, options);
}

View File

@@ -0,0 +1,4 @@
module.exports = function escapeMarkdown(text, onlyCodeBlock = false) {
if (onlyCodeBlock) return text.replace(/```/g, '`\u200b``');
return text.replace(/\\(\*|_|`|~|\\)/g, '$1').replace(/(\*|_|`|~|\\)/g, '\\$1');
};