summaryrefslogtreecommitdiff
path: root/discord/emoji.cpp
blob: f219f0e7ed76215fdf61d2ab399dd0051a364d06 (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
30
31
32
33
34
35
36
37
#include "emoji.hpp"

void from_json(const nlohmann::json &j, EmojiData &m) {
    JS_N("id", m.ID);
    JS_N("name", m.Name);
    JS_O("roles", m.Roles);
    JS_O("user", m.Creator);
    JS_O("require_colons", m.NeedsColons);
    JS_O("managed", m.IsManaged);
    JS_O("animated", m.IsAnimated);
    JS_O("available", m.IsAvailable);
}

void to_json(nlohmann::json &j, const EmojiData &m) {
    if (m.ID.IsValid())
        j["id"] = m.ID;
    else
        j["id"] = nullptr;
    if (m.Name != "")
        j["name"] = m.Name;
    else
        j["name"] = nullptr;
    JS_IF("roles", m.Roles);
    JS_IF("user", m.Creator);
    JS_IF("require_colons", m.NeedsColons);
    JS_IF("managed", m.IsManaged);
    JS_IF("animated", m.IsAnimated);
    JS_IF("available", m.IsAvailable);
}

std::string EmojiData::GetURL() const {
    return "https://cdn.discordapp.com/emojis/" + std::to_string(ID) + ".png";
}

std::string EmojiData::URLFromID(std::string emoji_id, std::string ext) {
    return "https://cdn.discordapp.com/emojis/" + emoji_id + "." + ext;
}