PluralKit/Myriad/Types/Channel.cs

45 lines
1.1 KiB
C#
Raw Normal View History

namespace Myriad.Types;
public record Channel
2020-12-22 12:15:26 +00:00
{
public enum ChannelType
2020-12-22 12:15:26 +00:00
{
GuildText = 0,
Dm = 1,
GuildVoice = 2,
GroupDm = 3,
GuildCategory = 4,
GuildNews = 5,
GuildStore = 6,
GuildNewsThread = 10,
GuildPublicThread = 11,
GuildPrivateThread = 12,
GuildStageVoice = 13
}
2020-12-22 12:15:26 +00:00
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
2020-12-22 12:15:26 +00:00
public record Overwrite
{
public ulong Id { get; init; }
public OverwriteType Type { get; init; }
public PermissionSet Allow { get; init; }
public PermissionSet Deny { get; init; }
}
2020-12-22 12:15:26 +00:00
public enum OverwriteType
{
Role = 0,
Member = 1
2020-12-22 12:15:26 +00:00
}
2020-12-22 12:15:26 +00:00
}