mirror of
https://github.com/spacebarchat/server.git
synced 2024-11-11 21:23:24 +01:00
123 lines
2.9 KiB
TypeScript
123 lines
2.9 KiB
TypeScript
/// <reference path="../util/MongoBigInt.d.ts" />
|
|
import { Schema, Document } from "mongoose";
|
|
import { ChannelType } from "./Channel";
|
|
export interface Message extends Document {
|
|
id: bigint;
|
|
channel_id: bigint;
|
|
author_id?: bigint;
|
|
webhook_id?: bigint;
|
|
application_id: bigint;
|
|
content: string;
|
|
timestamp: number;
|
|
edited_timestamp: number;
|
|
tts: boolean;
|
|
mention_everyone: boolean;
|
|
mentions: bigint[];
|
|
mention_roles: bigint[];
|
|
mention_channels?: {
|
|
id: bigint;
|
|
guild_id: bigint;
|
|
type: ChannelType;
|
|
name: string;
|
|
}[];
|
|
attachments: Attachment[];
|
|
embeds: Embed[];
|
|
reactions?: Reaction[];
|
|
nonce?: string | number;
|
|
pinned: boolean;
|
|
type: MessageType;
|
|
activity?: {
|
|
type: number;
|
|
party_id: string;
|
|
};
|
|
flags?: bigint;
|
|
stickers?: [];
|
|
message_reference?: {
|
|
message_id: bigint;
|
|
channel_id?: bigint;
|
|
guild_id?: bigint;
|
|
};
|
|
}
|
|
export declare enum MessageType {
|
|
DEFAULT = 0,
|
|
RECIPIENT_ADD = 1,
|
|
RECIPIENT_REMOVE = 2,
|
|
CALL = 3,
|
|
CHANNEL_NAME_CHANGE = 4,
|
|
CHANNEL_ICON_CHANGE = 5,
|
|
CHANNEL_PINNED_MESSAGE = 6,
|
|
GUILD_MEMBER_JOIN = 7,
|
|
USER_PREMIUM_GUILD_SUBSCRIPTION = 8,
|
|
USER_PREMIUM_GUILD_SUBSCRIPTION_TIER_1 = 9,
|
|
USER_PREMIUM_GUILD_SUBSCRIPTION_TIER_2 = 10,
|
|
USER_PREMIUM_GUILD_SUBSCRIPTION_TIER_3 = 11,
|
|
CHANNEL_FOLLOW_ADD = 12,
|
|
GUILD_DISCOVERY_DISQUALIFIED = 14,
|
|
GUILD_DISCOVERY_REQUALIFIED = 15,
|
|
REPLY = 19,
|
|
APPLICATION_COMMAND = 20
|
|
}
|
|
export interface Attachment {
|
|
id: bigint;
|
|
filename: string;
|
|
size: number;
|
|
url: string;
|
|
proxy_url: string;
|
|
height: number;
|
|
width: number;
|
|
}
|
|
export interface Embed {
|
|
title?: string;
|
|
type?: string;
|
|
description?: string;
|
|
url?: string;
|
|
timestamp?: number;
|
|
color?: number;
|
|
footer?: {
|
|
text: string;
|
|
icon_url?: string;
|
|
proxy_icon_url?: string;
|
|
};
|
|
image?: EmbedImage;
|
|
thumbnail?: EmbedImage;
|
|
video?: EmbedImage;
|
|
provider?: {
|
|
name?: string;
|
|
url?: string;
|
|
};
|
|
author?: {
|
|
name?: string;
|
|
url?: string;
|
|
icon_url?: string;
|
|
proxy_icon_url?: string;
|
|
};
|
|
fields?: {
|
|
name: string;
|
|
value: string;
|
|
inline?: boolean;
|
|
}[];
|
|
}
|
|
export interface EmbedImage {
|
|
url?: string;
|
|
proxy_url?: string;
|
|
height?: number;
|
|
width?: number;
|
|
}
|
|
export interface Reaction {
|
|
count: number;
|
|
emoji: PartialEmoji;
|
|
}
|
|
export interface PartialEmoji {
|
|
id?: bigint;
|
|
name: string;
|
|
animated?: boolean;
|
|
}
|
|
export interface AllowedMentions {
|
|
parse?: ("users" | "roles" | "everyone")[];
|
|
roles?: bigint[];
|
|
users?: bigint[];
|
|
replied_user?: boolean;
|
|
}
|
|
export declare const MessageSchema: Schema<Document<any>, import("mongoose").Model<Document<any>>, undefined>;
|
|
export declare const MessageModel: import("mongoose").Model<Message>;
|