swc/crates/swc_bundler/tests/.cache/deno/c94968dc9567b7b3b4ae233f8b8937cd042b9ac7.ts
2021-11-09 20:42:49 +09:00

34 lines
1.1 KiB
TypeScript

// Loaded from https://deno.land/x/discordeno@11.0.0-rc.2/src/helpers/members/avatar_url.ts
import type { DiscordImageFormat } from "../../types/misc/image_format.ts";
import type { DiscordImageSize } from "../../types/misc/image_size.ts";
import { endpoints } from "../../util/constants.ts";
import { iconBigintToHash } from "../../util/hash.ts";
import { formatImageURL } from "../../util/utils.ts";
/** The users custom avatar or the default avatar if you don't have a member object. */
export function avatarURL(
userId: bigint,
discriminator: bigint,
options: {
avatar?: string | bigint;
size?: DiscordImageSize;
format?: DiscordImageFormat;
animated?: boolean;
}
) {
return options.avatar
? formatImageURL(
endpoints.USER_AVATAR(
userId,
typeof options.avatar === "string"
? options.avatar
: iconBigintToHash(options.avatar, options.animated ?? true)
),
options.size || 128,
options.format
)
: endpoints.USER_DEFAULT_AVATAR(Number(discriminator) % 5);
}