summaryrefslogtreecommitdiff
path: root/discord/sticker.hpp
blob: 89279b3ee340414a8392f233e8e8556b3f995b18 (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
29
#pragma once
#include <optional>
#include <string>
#include "snowflake.hpp"
#include "json.hpp"

// unstable

enum class StickerFormatType {
    PNG = 1,
    APNG = 2,
    LOTTIE = 3,
};

struct StickerData {
    Snowflake ID;
    Snowflake PackID;
    std::string Name;
    std::string Description;
    std::optional<std::string> Tags;
    std::optional<std::string> AssetHash;
    std::optional<std::string> PreviewAssetHash;
    StickerFormatType FormatType;

    friend void to_json(nlohmann::json &j, const StickerData &m);
    friend void from_json(const nlohmann::json &j, StickerData &m);

    std::string GetURL() const;
};