aboutsummaryrefslogtreecommitdiff
path: root/src/api
diff options
context:
space:
mode:
authorV <vendicated@riseup.net>2023-05-02 02:55:21 +0200
committerGitHub <noreply@github.com>2023-05-02 02:55:21 +0200
commit7bc1362cbd3323c982dcc8bf10d399e581082d18 (patch)
tree6a964c43ea3a9287acfb6b5a3ced0b0c32e097ff /src/api
parent4dce836ff73f22ef5ead1dd4803d4516f0ebd1e8 (diff)
downloadVencord-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.ts29
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);