seyfert
Version:
The most advanced framework for discord bots
29 lines (28 loc) • 1.63 kB
TypeScript
import type { GuildStructure, RawFile, StickerStructure, UsingClient } from '..';
import type { Attachment, AttachmentBuilder } from '../builders';
import { type UserStructure } from '../client/transformers';
import type { MethodContext, ObjectToLower } from '../common';
import type { APISticker, RESTPatchAPIGuildStickerJSONBody, RESTPostAPIGuildStickerFormDataBody } from '../types';
import { DiscordBase } from './extra/DiscordBase';
export interface Sticker extends DiscordBase, ObjectToLower<Omit<APISticker, 'user'>> {
}
export declare class Sticker extends DiscordBase {
user?: UserStructure;
constructor(client: UsingClient, data: APISticker);
guild(force?: boolean): Promise<GuildStructure<'api'> | undefined>;
edit(body: RESTPatchAPIGuildStickerJSONBody, reason?: string): Promise<StickerStructure | undefined>;
fetch(force?: boolean): Promise<StickerStructure | undefined>;
delete(reason?: string): Promise<void>;
static methods({ client, guildId }: MethodContext<{
guildId: string;
}>): {
list: () => Promise<StickerStructure[]>;
create: (payload: CreateStickerBodyRequest, reason?: string) => Promise<StickerStructure>;
edit: (stickerId: string, body: RESTPatchAPIGuildStickerJSONBody, reason?: string) => Promise<StickerStructure>;
fetch: (stickerId: string, force?: boolean) => Promise<StickerStructure>;
delete: (stickerId: string, reason?: string) => Promise<void>;
};
}
export interface CreateStickerBodyRequest extends Omit<RESTPostAPIGuildStickerFormDataBody, 'file'> {
file: Attachment | AttachmentBuilder | RawFile;
}