UNPKG

hennus-api

Version:

Esta es una libreria para el bot Hennus

149 lines (148 loc) 6.62 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.baseRest = void 0; const v10_1 = require("discord-api-types/v10"); const types_1 = require("../../types"); const _1 = require("./"); class baseRest extends _1.BaseRestFunction { constructor(client) { super(client); this.client = client; } ; async post(type, args, ...data) { if (type == "channelMessages") { let msg = undefined; if (args && args?.files && args.files[0]) msg = await super._post("channelMessages", { ...args }, ...data); else if (args && !args.files) msg = await super._post("channelMessages", { body: args, headers: { "Content-Type": "application/json" } }, ...data); if (msg instanceof Error) throw msg; if (msg) return new types_1.Message(msg, this.client); } else if (type == "applicationCommands") { const cmd = await super._post("applicationCommands", { body: args }, ...data); if (cmd instanceof Error) throw cmd; if (cmd) return cmd; } else if (type == "interactionCallback") { let int = undefined; if (args && args?.files && args.files[0]) int = await super._post("interactionCallback", { auth: false, ...args }, ...data); if (args && !args?.files) int = await super._post("interactionCallback", { ...args }, ...data); if (int instanceof Error) throw int; if (int) return int; } ; return undefined; } ; async get(type, ...data) { if (type == "channelMessages") { const msgs = await super._get("channelMessages", {}, ...data); if (msgs instanceof Error) throw msgs; if (!msgs || !Array.isArray(msgs)) return undefined; return msgs.map((msg) => new types_1.Message(msg, this.client)); } else if (type == "userGuilds") { const guilds = await super._get("userGuilds", {}, ...data); if (guilds instanceof Error) throw guilds; if (!guilds || !Array.isArray(guilds)) return undefined; return guilds; } else if (type == "guild") { const params = new URLSearchParams(); params.append("with_counts", "true"); const guild = await super._get("guild", { query: params }, ...data); if (guild instanceof Error) throw guild; if (typeof guild == 'object') return new types_1.Guild(guild, this.client); } else if (type == "guildChannels") { const channels = await super._get("guildChannels", {}, ...data); if (channels instanceof Error) throw channels; if (channels && Array.isArray(channels)) return channels.map((x) => { let channel = undefined; if (x.type == v10_1.ChannelType.GuildText || x.type == v10_1.ChannelType.GuildAnnouncement) channel = new types_1.BasedTextChannel(x, this.client); else if (x.type == v10_1.ChannelType.DM || x.type == v10_1.ChannelType.GroupDM) channel = new types_1.BasedDmChannel(x, this.client); else if (x.type == v10_1.ChannelType.GuildVoice || x.type == v10_1.ChannelType.GuildStageVoice) channel = new types_1.BasedVoiceChannel(x, this.client); else if (x.type == v10_1.ChannelType.GuildCategory) channel = new types_1.BasedCategoryChannel(x, this.client); else if (x.type == v10_1.ChannelType.GuildForum) channel = new types_1.BasedForumChannel(x, this.client); else if (x.type == v10_1.ChannelType.PublicThread || x.type == v10_1.ChannelType.PrivateThread || x.type == v10_1.ChannelType.AnnouncementThread) channel = new types_1.BasedThreadChannel(x, this.client); if (channel) return channel; else return channel; }).filter((x) => x != undefined); } else if (type == "user") { const user = await super._get("user", {}, ...data); if (user instanceof Error) throw user; if (user) return new types_1.User(user, this.client); } else if (type == "channelMessage") { const params = new URLSearchParams(); params.append("limit", "100"); const message = await super._get("channelMessage", { query: params }, ...data); if (message instanceof Error) throw message; if (message) return new types_1.Message(message, this.client); } else if (type == "guildRoles") { const roles = await super._get("guildRoles", {}, ...data); if (roles instanceof Error) throw roles; if (roles) return roles.map((role) => new types_1.GuildRoles(role, this.client)); return roles; } else if (type == "guildMember") { const member = await super._get("guildMember", {}, ...data); if (member instanceof Error) throw member; const guild = this.client.guilds.revolve(data[0]); if (member && guild) return new types_1.GuildMember(member, guild, this.client); if (member && !guild) return new types_1.GuildMember(member, { id: data[0] }, this.client); return undefined; } else if (type == 'guildMembers') { const params = new URLSearchParams(); params.append("limit", "1000"); const members = await super._get("guildMembers", { query: params }, ...data); if (members instanceof Error) throw members; const guild = this.client.guilds.revolve(data[0]); if (members && guild) return members.map((member) => new types_1.GuildMember(member, guild, this.client)); if (members && !guild) return members.map((member) => new types_1.GuildMember(member, { id: data[0] }, this.client)); return undefined; } ; return undefined; } ; } exports.baseRest = baseRest; ;