summaryrefslogtreecommitdiff
path: root/src/discord/role.hpp
blob: a526f4e41d3f69898c1c0b6dc28e3300f10a3532 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#pragma once
#include "snowflake.hpp"
#include "json.hpp"
#include "permissions.hpp"
#include <string>
#include <cstdint>

struct RoleData {
    Snowflake ID;
    std::string Name;
    int Color;
    bool IsHoisted;
    int Position;
    int PermissionsLegacy;
    Permission Permissions;
    bool IsManaged;
    bool IsMentionable;

    bool HasColor() const noexcept;
    Glib::ustring GetEscapedName() const;

    friend void from_json(const nlohmann::json &j, RoleData &m);
};