#pragma once #include "json.hpp" #include "guild.hpp" #include enum class ETargetUserType { STREAM = 1 }; class InviteChannelData { public: InviteChannelData() = default; InviteChannelData(const ChannelData &c); Snowflake ID; ChannelType Type; std::optional Name; std::optional> RecipientUsernames; // std::optional Icon; friend void from_json(const nlohmann::json &j, InviteChannelData &m); }; class InviteData { public: std::string Code; std::optional Guild; std::optional Channel; std::optional Inviter; std::optional TargetUser; std::optional TargetUserType; std::optional PresenceCount; std::optional MemberCount; std::optional Uses; std::optional MaxUses; std::optional MaxAge; std::optional IsTemporary; std::optional CreatedAt; friend void from_json(const nlohmann::json &j, InviteData &m); };