45 lines
1.1 KiB
C#
45 lines
1.1 KiB
C#
namespace Myriad.Types;
|
|
|
|
public record Channel
|
|
{
|
|
public enum ChannelType
|
|
{
|
|
GuildText = 0,
|
|
Dm = 1,
|
|
GuildVoice = 2,
|
|
GroupDm = 3,
|
|
GuildCategory = 4,
|
|
GuildNews = 5,
|
|
GuildStore = 6,
|
|
GuildNewsThread = 10,
|
|
GuildPublicThread = 11,
|
|
GuildPrivateThread = 12,
|
|
GuildStageVoice = 13
|
|
}
|
|
|
|
public ulong Id { get; init; }
|
|
public ChannelType Type { get; init; }
|
|
public ulong? GuildId { get; init; }
|
|
public int? Position { get; init; }
|
|
public string? Name { get; init; }
|
|
// public string? Topic { get; init; }
|
|
// public bool? Nsfw { get; init; }
|
|
public ulong? ParentId { get; init; }
|
|
public Overwrite[]? PermissionOverwrites { get; init; }
|
|
public User[]? Recipients { get; init; } // NOTE: this may be null for stub channel objects
|
|
|
|
public record Overwrite
|
|
{
|
|
public ulong Id { get; init; }
|
|
public OverwriteType Type { get; init; }
|
|
public PermissionSet Allow { get; init; }
|
|
public PermissionSet Deny { get; init; }
|
|
}
|
|
|
|
public enum OverwriteType
|
|
{
|
|
Role = 0,
|
|
Member = 1
|
|
}
|
|
|
|
} |