diff options
author | V <vendicated@riseup.net> | 2023-05-02 02:55:21 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-05-02 02:55:21 +0200 |
commit | 7bc1362cbd3323c982dcc8bf10d399e581082d18 (patch) | |
tree | 6a964c43ea3a9287acfb6b5a3ced0b0c32e097ff /src/api | |
parent | 4dce836ff73f22ef5ead1dd4803d4516f0ebd1e8 (diff) | |
download | Vencord-7bc1362cbd3323c982dcc8bf10d399e581082d18.tar.gz Vencord-7bc1362cbd3323c982dcc8bf10d399e581082d18.tar.bz2 Vencord-7bc1362cbd3323c982dcc8bf10d399e581082d18.zip |
MessageEvents: Support sendMessage with attachments (#1023)
Diffstat (limited to 'src/api')
-rw-r--r-- | src/api/MessageEvents.ts | 29 |
1 files changed, 28 insertions, 1 deletions
diff --git a/src/api/MessageEvents.ts b/src/api/MessageEvents.ts index aaf8d40..4bd3bc0 100644 --- a/src/api/MessageEvents.ts +++ b/src/api/MessageEvents.ts @@ -36,10 +36,36 @@ export interface Emoji { export interface MessageObject { content: string, validNonShortcutEmojis: Emoji[]; + invalidEmojis: any[]; + tts: boolean; } +export interface Upload { + classification: string; + currentSize: number; + description: string | null; + filename: string; + id: string; + isImage: boolean; + isVideo: boolean; + item: { + file: File; + platform: number; + }; + loaded: number; + mimeType: string; + preCompressionSize: number; + responseUrl: string; + sensitive: boolean; + showLargeMessageDialog: boolean; + spoiler: boolean; + status: "NOT_STARTED" | "STARTED" | "UPLOADING" | "ERROR" | "COMPLETED" | "CANCELLED"; + uniqueId: string; + uploadedFilename: string; +} export interface MessageExtra { stickerIds?: string[]; + uploads?: Upload[]; } export type SendListener = (channelId: string, messageObj: MessageObject, extra: MessageExtra) => Promisable<void | { cancel: boolean; }>; @@ -48,7 +74,8 @@ export type EditListener = (channelId: string, messageId: string, messageObj: Me const sendListeners = new Set<SendListener>(); const editListeners = new Set<EditListener>(); -export async function _handlePreSend(channelId: string, messageObj: MessageObject, extra: MessageExtra) { +export async function _handlePreSend(channelId: string, messageObj: MessageObject, extra: MessageExtra, uploads: Upload[]) { + extra.uploads = uploads; for (const listener of sendListeners) { try { const result = await listener(channelId, messageObj, extra); |