Files
discordeno/transformers/embed.ts
Skillz4Killz a0a1554756 refactor: typings using ReturnType (#2105)
* fix: check new types idea

* fix: type errors

* fix: new style

* fix: more cleanup

* fix: more cleanup

* fix: cleanup audit logs

* fix: cleanup stickers

* fix: cleanup integrations

* fix: more cleanup

* fix: organize into 1 place

* fix: few errors

* fix: some broken import fixes

* fix: quite a lot of fixes across the board

* fix: more fixes for broken imports

* fix: more fixes for broken imports

* fix: handler imports

* fix: all remaining import errors

* fix: more errors needing fixes

* fix: clearing up transformers

* fix: few moer types

* fix: more cleanup of extra types

* fix: fmt

* fix: cleanup discordeno file

* Nuke Base Types (#2102)

* fix: cleanup snake stuff

* convert camelCase to snake_case (#2103)

* fix: add camelize

* fix: finalize remaining errors

* fix: imports in test

Co-authored-by: LTS20050703 <87189679+lts20050703@users.noreply.github.com>
2022-03-14 22:11:22 -04:00

57 lines
1.6 KiB
TypeScript

import { Bot } from "../bot.ts";
import { DiscordEmbed } from "../types/discord.ts";
export function transformEmbed(bot: Bot, payload: DiscordEmbed) {
return {
title: payload.title,
type: payload.type,
description: payload.description,
url: payload.url,
timestamp: payload.timestamp ? Date.parse(payload.timestamp) : undefined,
color: payload.color,
footer: payload.footer
? {
text: payload.footer.text,
iconUrl: payload.footer.icon_url,
proxyIconUrl: payload.footer.proxy_icon_url,
}
: undefined,
image: payload.image
? {
url: payload.image.url,
proxyUrl: payload.image.proxy_url,
height: payload.image.height,
width: payload.image.width,
}
: undefined,
thumbnail: payload.thumbnail
? {
url: payload.thumbnail.url,
proxyUrl: payload.thumbnail.proxy_url,
height: payload.thumbnail.height,
width: payload.thumbnail.width,
}
: undefined,
video: payload.video
? {
url: payload.video.url,
proxyUrl: payload.video.proxy_url,
height: payload.video.height,
width: payload.video.width,
}
: undefined,
provider: payload.provider,
author: payload.author
? {
name: payload.author.name,
url: payload.author.url,
iconUrl: payload.author.icon_url,
proxyIconUrl: payload.author.proxy_icon_url,
}
: undefined,
fields: payload.fields,
};
}
export interface Embed extends ReturnType<typeof transformEmbed> {}