Files
discordeno/src/transformers/emoji.ts
T
Skillz4Killz 34a2baa799 more events
2021-10-24 12:15:11 +00:00

38 lines
1.3 KiB
TypeScript

import { Bot } from "../bot.ts";
import { Emoji } from "../types/emojis/emoji.ts";
import { SnakeCasedPropertiesDeep } from "../types/util.ts";
import { DiscordenoUser } from "./member.ts";
export function transformEmoji(bot: Bot, payload: SnakeCasedPropertiesDeep<Emoji>): DiscordenoEmoji {
return {
id: payload.id ? bot.transformers.snowflake(payload.id) : undefined,
name: payload.name || undefined,
roles: payload.roles?.map((id) => bot.transformers.snowflake(id)),
user: payload.user ? bot.transformers.user(bot, payload.user) : undefined,
// TODO: change to bitfield?
requireColons: payload.require_colons,
managed: payload.managed,
animated: payload.animated,
available: payload.available,
};
}
export interface DiscordenoEmoji {
/** Emoji id */
id?: bigint;
/** Emoji name (can only be null in reaction emoji objects) */
name?: string;
/** Roles allowed to use this emoji */
roles?: bigint[];
/** User that created this emoji */
user?: DiscordenoUser;
/** Whether this emoji must be wrapped in colons */
requireColons?: boolean;
/** Whether this emoji is managed */
managed?: boolean;
/** Whether this emoji is animated */
animated?: boolean;
/** Whether this emoji can be used, may be false due to loss of Server Boosts */
available?: boolean;
}