feat(biscuit): Guild max emojis, custom stickers slots

This commit is contained in:
socram03 2022-07-17 19:01:54 -04:00
parent 9cf724c109
commit 604a1c9aaa

View File

@ -18,7 +18,7 @@ import type {
VideoQualityModes,
} from "../../discordeno/mod.ts";
import type { ImageFormat, ImageSize } from "../Util.ts";
import { GuildFeatures } from "../../discordeno/mod.ts";
import { GuildFeatures, PremiumTiers } from "../../discordeno/mod.ts";
import { Snowflake } from "../Snowflake.ts";
import Util from "../Util.ts";
import * as Routes from "../Routes.ts";
@ -320,6 +320,7 @@ export class Guild extends BaseGuild implements Model {
this.vefificationLevel = data.verification_level;
this.defaultMessageNotificationLevel = data.default_message_notifications;
this.explicitContentFilterLevel = data.explicit_content_filter;
this.premiumTier = data.premium_tier
this.members = new Map(
data.members?.map((member) => [data.id, new Member(session, { ...member, user: member.user! }, data.id)]),
@ -346,11 +347,44 @@ export class Guild extends BaseGuild implements Model {
vefificationLevel: VerificationLevels;
defaultMessageNotificationLevel: DefaultMessageNotificationLevels;
explicitContentFilterLevel: ExplicitContentFilterLevels;
premiumTier: PremiumTiers;
members: Map<Snowflake, Member>;
roles: Map<Snowflake, Role>;
emojis: Map<Snowflake, GuildEmoji>;
channels: Map<Snowflake, GuildChannel>;
/**
* Returns the maximum number of emoji slots
*/
get maxEmojis(): 50 | 100 | 150 | 250 {
switch (this.premiumTier) {
case 1:
return 100;
case 2:
return 150;
case 3:
return 250;
default:
return 50;
}
}
/**
* Returns the maximum number of custom sticker slots
*/
get maxStickers(): 5 | 15 | 30 | 60 {
switch (this.premiumTier) {
case 1:
return 15;
case 2:
return 30;
case 3:
return 60;
default:
return 5;
}
}
/**
* 'null' would reset the nickname
*/