UNPKG

seyfert

Version:

The most advanced framework for discord bots

46 lines (45 loc) 2.08 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.ReactionShorter = void 0; const transformers_1 = require("../../client/transformers"); const utils_1 = require("../../common/it/utils"); const base_1 = require("./base"); class ReactionShorter extends base_1.BaseShorter { async add(messageId, channelId, emoji) { const rawEmoji = await (0, utils_1.resolveEmoji)(emoji, this.client.cache); if (!rawEmoji) { throw new Error('Emoji no resolvable'); } return this.client.proxy.channels(channelId).messages(messageId).reactions((0, utils_1.encodeEmoji)(rawEmoji))('@me').put({}); } async delete(messageId, channelId, emoji, userId = '@me') { const rawEmoji = await (0, utils_1.resolveEmoji)(emoji, this.client.cache); if (!rawEmoji) { throw new Error('Emoji no resolvable'); } return this.client.proxy.channels(channelId).messages(messageId).reactions((0, utils_1.encodeEmoji)(rawEmoji))(userId).delete(); } async fetch(messageId, channelId, emoji, query) { const rawEmoji = await (0, utils_1.resolveEmoji)(emoji, this.client.cache); if (!rawEmoji) { throw new Error('Emoji no resolvable'); } return this.client.proxy .channels(channelId) .messages(messageId) .reactions((0, utils_1.encodeEmoji)(rawEmoji)) .get({ query }) .then(u => u.map(user => transformers_1.Transformers.User(this.client, user))); } async purge(messageId, channelId, emoji) { if (!emoji) { return this.client.proxy.channels(channelId).messages(messageId).reactions.delete(); } const rawEmoji = await (0, utils_1.resolveEmoji)(emoji, this.client.cache); if (!rawEmoji) { throw new Error('Emoji no resolvable'); } return this.client.proxy.channels(channelId).messages(messageId).reactions((0, utils_1.encodeEmoji)(rawEmoji)).delete(); } } exports.ReactionShorter = ReactionShorter;