package me.eternal.purrfectsnap.core.event.events.impl

import me.eternal.purrfectsnap.core.event.events.AbstractHookEvent
import me.eternal.purrfectsnap.core.wrapper.impl.MessageContent
import me.eternal.purrfectsnap.core.wrapper.impl.MessageDestinations

class MediaUploadEvent(
    val localMessageContent: MessageContent,
    val destinations: MessageDestinations,
    val callback: Any,
): AbstractHookEvent() {
    class MediaUploadResult(
        val messageContent: MessageContent
    )

    val mediaUploadCallbacks = mutableListOf<(MediaUploadResult) -> Unit>()

    fun onMediaUploaded(callback: (MediaUploadResult) -> Unit) {
        mediaUploadCallbacks.add(callback)
    }
}