hennus-api
Version:
Esta es una libreria para el bot Hennus
149 lines (148 loc) • 6.62 kB
JavaScript
;
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;
;