summaryrefslogtreecommitdiff
path: root/src/discord/chatsubmitparams.hpp
blob: 45fbb2a964dcc5576e20755952b4956a06a7214e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#pragma once
#include <optional>
#include <vector>
#include <string>
#include <glibmm/ustring.h>
#include <giomm/file.h>
#include "discord/snowflake.hpp"

struct ChatSubmitParams {
    enum AttachmentType {
        PastedImage,
        ExtantFile,
    };

    struct Attachment {
        Glib::RefPtr<Gio::File> File;
        AttachmentType Type;
        std::string Filename;
        std::optional<std::string> Description;
    };

    bool Silent = false;
    Snowflake ChannelID;
    Snowflake InReplyToID;
    Snowflake EditingID;
    Glib::ustring Message;
    std::vector<Attachment> Attachments;
};