UNPKG

seyfert

Version:

The most advanced framework for discord bots

83 lines (82 loc) 3.1 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.Guild = void 0; const AutoModerationRule_1 = require("./AutoModerationRule"); const channels_1 = require("./channels"); const Emoji_1 = require("./Emoji"); const BaseGuild_1 = require("./extra/BaseGuild"); const GuildBan_1 = require("./GuildBan"); const GuildMember_1 = require("./GuildMember"); const GuildRole_1 = require("./GuildRole"); const GuildTemplate_1 = require("./GuildTemplate"); const Sticker_1 = require("./Sticker"); class Guild extends BaseGuild_1.BaseGuild { joinedAt; memberCount; large; unavailable; constructor(client, data) { super(client, data); if ('joined_at' in data) { this.joinedAt = Date.parse(data.joined_at); this.memberCount = data.member_count; this.large = data.large; this.unavailable = data.unavailable; } } webhooks = channels_1.WebhookGuildMethods.guild({ client: this.client, guildId: this.id }); get maxStickers() { switch (this.premiumTier) { case 1: return 15; case 2: return 30; case 3: return 60; default: return 5; } } get maxEmojis() { switch (this.premiumTier) { case 1: return 100; case 2: return 150; case 3: return 250; default: return 50; } } async fetchOwner(force = false) { // For no reason, discord has some guilds without owner... 🤓 if (!this.ownerId) { return null; } return this.members.fetch(this.ownerId, force); } listActiveThreads(force = false) { return this.client.threads.listGuildActive(this.id, force); } templates = GuildTemplate_1.GuildTemplate.methods({ client: this.client, guildId: this.id }); stickers = Sticker_1.Sticker.methods({ client: this.client, guildId: this.id }); members = GuildMember_1.GuildMember.methods({ client: this.client, guildId: this.id }); moderationRules = AutoModerationRule_1.AutoModerationRule.methods({ client: this.client, guildId: this.id }); roles = GuildRole_1.GuildRole.methods({ client: this.client, guildId: this.id }); channels = channels_1.BaseChannel.allMethods({ client: this.client, guildId: this.id }); emojis = Emoji_1.GuildEmoji.methods({ client: this.client, guildId: this.id }); bans = GuildBan_1.GuildBan.methods({ client: this.client, guildId: this.id }); edit(body, reason) { return this.client.guilds.edit(this.id, body, reason); } searchMessages(query, wait) { return this.client.guilds.searchMessages(this.id, query, wait); } invites = { list: () => this.client.invites.guilds.list(this.id), create: (data) => this.client.invites.channels.create(data), delete: (code, reason) => this.client.invites.delete(code, reason), }; } exports.Guild = Guild;