summaryrefslogtreecommitdiff
path: root/discord/member.hpp
blob: 0a5e57da6062f056e657d0f26cfd223efbe6f78f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#pragma once
#include "snowflake.hpp"
#include "json.hpp"
#include "user.hpp"
#include <string>
#include <vector>

struct GuildMember {
    std::optional<UserData> User; // only reliable to access id. only opt in MESSAGE_*
    std::string Nickname;         // null
    std::vector<Snowflake> Roles;
    std::string JoinedAt;
    std::optional<std::string> PremiumSince; // null
    bool IsDeafened;
    bool IsMuted;

    friend void from_json(const nlohmann::json &j, GuildMember &m);
    static GuildMember from_update_json(const nlohmann::json &j);
};