summaryrefslogtreecommitdiff
path: root/dist/commands/server/quotemessage.js
diff options
context:
space:
mode:
Diffstat (limited to 'dist/commands/server/quotemessage.js')
-rw-r--r--dist/commands/server/quotemessage.js78
1 files changed, 78 insertions, 0 deletions
diff --git a/dist/commands/server/quotemessage.js b/dist/commands/server/quotemessage.js
new file mode 100644
index 0000000..e61cdb6
--- /dev/null
+++ b/dist/commands/server/quotemessage.js
@@ -0,0 +1,78 @@
+"use strict";
+var __importDefault = (this && this.__importDefault) || function (mod) {
+ return (mod && mod.__esModule) ? mod : { "default": mod };
+};
+Object.defineProperty(exports, "__esModule", { value: true });
+const discord_js_commando_1 = require("discord.js-commando");
+const discord_js_1 = require("discord.js");
+const truncateText_js_1 = __importDefault(require("../../utils/truncateText.js"));
+const path_1 = __importDefault(require("path"));
+module.exports = class QuoteMessageServer extends discord_js_commando_1.Command {
+ constructor(client) {
+ super(client, {
+ name: 'quotemessage',
+ aliases: [
+ 'quote-message',
+ 'quotemsg',
+ 'quote-msg'
+ ],
+ group: 'fun',
+ memberName: 'quotemessage',
+ description: 'Quote a message from a text channel.',
+ examples: ['uwu!quotemessage 424936127154094080'],
+ throttling: {
+ usages: 5,
+ duration: 30
+ },
+ userPermissions: ['SEND_MESSAGES', 'READ_MESSAGE_HISTORY'],
+ clientPermissions: ['SEND_MESSAGES', 'READ_MESSAGE_HISTORY'],
+ args: [
+ {
+ key: 'mMsg',
+ prompt: 'What message would you like to quote?',
+ type: 'message',
+ label: 'message ID'
+ }
+ ]
+ });
+ }
+ run(msg, { mMsg }) {
+ let emb = new discord_js_1.MessageEmbed()
+ .setColor(0xFFCC4D)
+ .setTimestamp(mMsg.createdAt)
+ .setAuthor(mMsg.author.tag, mMsg.author.avatarUrl)
+ .addFields([
+ {
+ name: 'Channel',
+ value: mMsg.channel.toString()
+ },
+ {
+ name: 'Message',
+ value: `[Jump to](https://discordapp.com/channels/${mMsg.guild.id}/${mMsg.channel.id}/${mMsg.id})`
+ }
+ ]);
+ console.debug('Does the message have content:', Boolean(mMsg.content));
+ if (mMsg.content)
+ emb.setDescription(truncateText_js_1.default(mMsg.content));
+ let messageImage;
+ const extensions = ['.png', '.jpg', '.jpeg', '.gif', '.webp'];
+ const linkRegex = /https?:\/\/(?:\w+\.)?[\w-]+\.[\w]{2,3}(?:\/[\w-_.]+)+\.(?:png|jpg|jpeg|gif|webp)/;
+ const imageEmbed = mMsg.embeds.find(msgEmbed => msgEmbed.type === 'rich' && msgEmbed.image && extensions.includes(path_1.default.extname(msgEmbed.image.url)));
+ if (imageEmbed)
+ messageImage = imageEmbed.image.url;
+ const attachment = mMsg.attachments.find(file => extensions.includes(path_1.default.extname(file.url)));
+ if (attachment) {
+ messageImage = attachment.url;
+ }
+ if (!messageImage) {
+ const linkMatch = mMsg.content.match(linkRegex);
+ if (linkMatch && extensions.includes(path_1.default.extname(linkMatch[0]))) {
+ [messageImage] = linkMatch;
+ }
+ }
+ if (messageImage)
+ emb.setImage(messageImage);
+ msg.say(emb);
+ }
+};
+//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVvdGVtZXNzYWdlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbW1hbmRzL3NlcnZlci9xdW90ZW1lc3NhZ2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSw2REFBK0Q7QUFFL0QsMkNBQTBDO0FBQzFDLGtGQUE0QztBQUM1QyxnREFBdUI7QUFFdkIsTUFBTSxDQUFDLE9BQU8sR0FBRyxNQUFNLGtCQUFtQixTQUFRLDZCQUFPO0lBQ3JELFlBQVksTUFBTTtRQUNkLEtBQUssQ0FBQyxNQUFNLEVBQUU7WUFDVixJQUFJLEVBQUUsY0FBYztZQUNwQixPQUFPLEVBQUU7Z0JBQ0wsZUFBZTtnQkFDZixVQUFVO2dCQUNWLFdBQVc7YUFDZDtZQUNELEtBQUssRUFBRSxLQUFLO1lBQ1osVUFBVSxFQUFFLGNBQWM7WUFDMUIsV0FBVyxFQUFFLHNDQUFzQztZQUNuRCxRQUFRLEVBQUUsQ0FBQyxxQ0FBcUMsQ0FBQztZQUNqRCxVQUFVLEVBQUU7Z0JBQ1IsTUFBTSxFQUFFLENBQUM7Z0JBQ1QsUUFBUSxFQUFFLEVBQUU7YUFDZjtZQUNELGVBQWUsRUFBRSxDQUFDLGVBQWUsRUFBRSxzQkFBc0IsQ0FBQztZQUMxRCxpQkFBaUIsRUFBRSxDQUFDLGVBQWUsRUFBRSxzQkFBc0IsQ0FBQztZQUM1RCxJQUFJLEVBQUU7Z0JBQ0Y7b0JBQ0ksR0FBRyxFQUFFLE1BQU07b0JBQ1gsTUFBTSxFQUFFLHVDQUF1QztvQkFDL0MsSUFBSSxFQUFFLFNBQVM7b0JBQ2YsS0FBSyxFQUFFLFlBQVk7aUJBQ3RCO2FBQ0o7U0FDSixDQUFDLENBQUM7SUFDUCxDQUFDO0lBQ0QsR0FBRyxDQUFDLEdBQW9CLEVBQUUsRUFBRSxJQUFJLEVBQUU7UUFDOUIsSUFBSSxHQUFHLEdBQUcsSUFBSSx5QkFBWSxFQUFFO2FBQ3ZCLFFBQVEsQ0FBQyxRQUFRLENBQUM7YUFDbEIsWUFBWSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUM7YUFDNUIsU0FBUyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDO2FBQ2pELFNBQVMsQ0FBQztZQUNQO2dCQUNJLElBQUksRUFBRSxTQUFTO2dCQUNmLEtBQUssRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRTthQUNqQztZQUNEO2dCQUNJLElBQUksRUFBRSxTQUFTO2dCQUNmLEtBQUssRUFBRSw2Q0FBNkMsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxFQUFFLElBQUksSUFBSSxDQUFDLEVBQUUsR0FBRzthQUNyRztTQUNKLENBQUMsQ0FBQTtRQUdOLE9BQU8sQ0FBQyxLQUFLLENBQUMsZ0NBQWdDLEVBQUUsT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFBO1FBQ3RFLElBQUksSUFBSSxDQUFDLE9BQU87WUFBRSxHQUFHLENBQUMsY0FBYyxDQUFDLHlCQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUE7UUFHdEQsSUFBSSxZQUFZLENBQUE7UUFFaEIsTUFBTSxVQUFVLEdBQUcsQ0FBQyxNQUFNLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsT0FBTyxDQUFDLENBQUE7UUFFN0QsTUFBTSxTQUFTLEdBQUcsa0ZBQWtGLENBQUM7UUFHckcsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQy9CLFFBQVEsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLElBQUksS0FBSyxNQUFNLElBQUksUUFBUSxDQUFDLEtBQUssSUFBSSxVQUFVLENBQUMsUUFBUSxDQUFDLGNBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUNsSCxDQUFBO1FBQ0QsSUFBSSxVQUFVO1lBQUUsWUFBWSxHQUFHLFVBQVUsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFBO1FBR25ELE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxjQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUE7UUFDN0YsSUFBSSxVQUFVLEVBQUU7WUFDWixZQUFZLEdBQUcsVUFBVSxDQUFDLEdBQUcsQ0FBQTtTQUNoQztRQUdELElBQUksQ0FBQyxZQUFZLEVBQUU7WUFDZixNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQTtZQUMvQyxJQUFJLFNBQVMsSUFBSSxVQUFVLENBQUMsUUFBUSxDQUFDLGNBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRTtnQkFDOUQsQ0FBQyxZQUFZLENBQUMsR0FBRyxTQUFTLENBQUE7YUFDN0I7U0FDSjtRQUdELElBQUksWUFBWTtZQUFFLEdBQUcsQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLENBQUE7UUFFNUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQTtJQUNoQixDQUFDO0NBQ0osQ0FBQyJ9 \ No newline at end of file