160 lines
4 KiB
C#
160 lines
4 KiB
C#
|
using Maki.Structures.Channels;
|
|||
|
using Maki.Structures.Messages;
|
|||
|
using Maki.Structures.Presences;
|
|||
|
using Maki.Structures.Roles;
|
|||
|
using Newtonsoft.Json;
|
|||
|
using System;
|
|||
|
|
|||
|
namespace Maki.Structures.Guilds
|
|||
|
{
|
|||
|
/// <summary>
|
|||
|
/// Discord API Guild structure
|
|||
|
/// </summary>
|
|||
|
internal struct Guild
|
|||
|
{
|
|||
|
/// <summary>
|
|||
|
/// guild id
|
|||
|
/// </summary>
|
|||
|
[JsonProperty("id")]
|
|||
|
public ulong Id;
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// guild name (2-100 characters)
|
|||
|
/// </summary>
|
|||
|
[JsonProperty("name")]
|
|||
|
public string Name;
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// icon hash
|
|||
|
/// </summary>
|
|||
|
[JsonProperty("icon")]
|
|||
|
public string IconHash;
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// splash hash
|
|||
|
/// </summary>
|
|||
|
[JsonProperty("splash")]
|
|||
|
public string SplashHash;
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// id of owner
|
|||
|
/// </summary>
|
|||
|
[JsonProperty("owner_id")]
|
|||
|
public ulong? OwnerId;
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// the id of the voice region
|
|||
|
/// </summary>
|
|||
|
[JsonProperty("region")]
|
|||
|
public string VoiceRegionId;
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// id of afk channel
|
|||
|
/// </summary>
|
|||
|
[JsonProperty("afk_channel_id")]
|
|||
|
public ulong? AfkChannelId;
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// afk timeout in seconds
|
|||
|
/// </summary>
|
|||
|
[JsonProperty("afk_timeout")]
|
|||
|
public int? AfkTimeout;
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// is this guild embeddable (e.g. widget)
|
|||
|
/// </summary>
|
|||
|
[JsonProperty("embed_enabled")]
|
|||
|
public bool? WidgetEnabled;
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// id of embedded channel
|
|||
|
/// </summary>
|
|||
|
[JsonProperty("embed_channel_id")]
|
|||
|
public ulong? WidgetChannelId;
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// level of verification
|
|||
|
/// </summary>
|
|||
|
[JsonProperty("verification_level")]
|
|||
|
public int? VerificationLevel;
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// default message notifications level
|
|||
|
/// </summary>
|
|||
|
[JsonProperty("default_message_notifications")]
|
|||
|
public int? MessageNotificationLevel;
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// array of role objects
|
|||
|
/// </summary>
|
|||
|
[JsonProperty("roles")]
|
|||
|
public Role[] Roles;
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// array of emoji objects
|
|||
|
/// </summary>
|
|||
|
[JsonProperty("emojis")]
|
|||
|
public Emoji[] Emojis;
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// array of guild features
|
|||
|
/// </summary>
|
|||
|
[JsonProperty("features")]
|
|||
|
public string[] Features;
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// required MFA level for the guild
|
|||
|
/// </summary>
|
|||
|
[JsonProperty("mfa_level")]
|
|||
|
public int? MultiFactorAuthLevel;
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// date this guild was joined at
|
|||
|
/// </summary>
|
|||
|
[JsonProperty("joined_at")]
|
|||
|
public DateTime? Created;
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// whether this is considered a large guild
|
|||
|
/// </summary>
|
|||
|
[JsonProperty("large")]
|
|||
|
public bool? IsLarge;
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// is this guild unavailable
|
|||
|
/// </summary>
|
|||
|
[JsonProperty("unavailable")]
|
|||
|
public bool? IsUnavailable;
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// total number of members in this guild
|
|||
|
/// </summary>
|
|||
|
[JsonProperty("member_count")]
|
|||
|
public int? MemberCount;
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// array of voice state objects (without the guild_id key)
|
|||
|
/// </summary>
|
|||
|
[JsonProperty("voice_states")]
|
|||
|
public object[] VoiceStates;
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// array of guild member objects
|
|||
|
/// </summary>
|
|||
|
[JsonProperty("members")]
|
|||
|
public GuildMember[] Members;
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// array of channel objects
|
|||
|
/// </summary>
|
|||
|
[JsonProperty("channels")]
|
|||
|
public Channel[] Channels;
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// array of simple presence objects, which share the same fields as Presence Update event sans a roles or guild_id key
|
|||
|
/// </summary>
|
|||
|
[JsonProperty("presences")]
|
|||
|
public Presence[] Presences;
|
|||
|
}
|
|||
|
}
|