mirror of
https://github.com/discordeno/discordeno.git
synced 2026-09-17 16:57:22 +00:00
* feat: Add return types to forum channel helpers. * fix: Use Discord-defined property names. Add `flags` property. * feat: Add return types to thread channel helpers. * feat: Add return types to channel helpers. * feat: Add return types to server discovery helpers. * misc!: Consistency: 'remove' -> 'delete'. * misc!: Add `get` keyword to function and file name. * feat: Add return types to emoji helpers. * misc!: Remove unused `bot` parameter. Capitalise 'URL'. * feat: Add return types to guild automod helpers. * feat: Add return types to guild scheduled event helpers. * misc!: Consistency: Rename `emojiURL` to `getEmojiURL`. * feat: Add return types to guild helpers. * misc!: Consistency: Add 'get' keyword to function and file names. * feat: Add return types to invite helpers. * feat: Add return types to integration helpers. * feat: Add return types to application command helpers. * feat: Add return types to followup message helpers. * feat: Add return types to interaction response helpers. * feat: Add return type to `createInvite()`. * feat: Add return types to member helpers. * misc!: Consistency: Add 'get' keyword to function and file names. * feat: Add return types to message helpers. * misc!: Consistency: 'remove' -> 'delete'. * fix: Use `slice()` to prevent unwanted side effects. * feat: Add return types to miscellaneous helpers. * misc!: Consistency: Add 'get' keyword to function and file names. * feat: Add return types to role helpers. * feat: Add return types to oauth helpers. * feat: Add return types to template helpers. * misc!: Consistency: Add 'guild' keyword to name. * feat: Add return types to voice helpers. * fix: Name function correctly. * feat: Add return types to webhook helpers. * misc!: Consistency: Rename `sendWebhook` to `sendWebhookMessage`. * misc: Update exports. * fix: Imports. * fix: Change return collection key type from `string` to `bigint`. Remove redundant code. * misc: Remove `undefined` from `runMethod()` return type. * style: Remove redundant types. * style: Rename endpoint call result variables to `result` and `results`. * misc: Reintroduce `bot` as first parameter. * misc: Adapt tests to changes made to helpers. * fix: Object being transformed twice. * style: Improve naming consistency of remaining files. * misc: `bigint` -> `number`. * style: Remove explicit `undefined` return. * style: Remove `void` operator in favour of generic type. * misc: Add missing `await` keyword. Co-authored-by: Skillz4Killz <23035000+Skillz4Killz@users.noreply.github.com> * style: Make `reason` property optional instead of `undefined`-able. * misc: Write out properties manually instead of using the spread operator. Co-authored-by: Skillz4Killz <23035000+Skillz4Killz@users.noreply.github.com>
43 lines
1.5 KiB
TypeScript
43 lines
1.5 KiB
TypeScript
import type { Bot } from "../../bot.ts";
|
|
import { Emoji } from "../../transformers/emoji.ts";
|
|
import { Sticker } from "../../transformers/sticker.ts";
|
|
import { DiscordGuildPreview } from "../../types/discord.ts";
|
|
import { GuildFeatures } from "../../types/shared.ts";
|
|
|
|
export type GuildPreview = {
|
|
id: bigint;
|
|
name?: string;
|
|
icon?: string;
|
|
splash?: string;
|
|
discoverySplash?: string;
|
|
emojis?: Emoji[];
|
|
features: GuildFeatures[];
|
|
approximateMemberCount: number;
|
|
approximatePresenceCount: number;
|
|
description?: string;
|
|
stickers: Sticker[];
|
|
};
|
|
|
|
/** Returns the guild preview object for the given id. If the bot is not in the guild, then the guild must be Discoverable. */
|
|
export async function getGuildPreview(bot: Bot, guildId: bigint): Promise<GuildPreview> {
|
|
const result = await bot.rest.runMethod<DiscordGuildPreview>(
|
|
bot.rest,
|
|
"GET",
|
|
bot.constants.routes.GUILD_PREVIEW(guildId),
|
|
);
|
|
|
|
return {
|
|
id: bot.transformers.snowflake(result.id),
|
|
name: result.name,
|
|
icon: result.icon ?? undefined,
|
|
splash: result.splash ?? undefined,
|
|
discoverySplash: result.discovery_splash ?? undefined,
|
|
emojis: result.emojis.map((emoji) => bot.transformers.emoji(bot, emoji)),
|
|
features: result.features,
|
|
approximateMemberCount: result.approximate_member_count,
|
|
approximatePresenceCount: result.approximate_presence_count,
|
|
description: result.description ?? undefined,
|
|
stickers: result.stickers.map((sticker) => bot.transformers.sticker(bot, sticker)),
|
|
};
|
|
}
|