37 lines
1.1 KiB
C#
37 lines
1.1 KiB
C#
|
using System.Collections.Generic;
|
|||
|
using System.Collections.Immutable;
|
|||
|
using System.Diagnostics;
|
|||
|
using System.Linq;
|
|||
|
using Model = Discord.API.Rpc.Guild;
|
|||
|
|
|||
|
namespace Discord.Rpc
|
|||
|
{
|
|||
|
[DebuggerDisplay(@"{DebuggerDisplay,nq}")]
|
|||
|
public class RpcGuild : RpcEntity<ulong>
|
|||
|
{
|
|||
|
public string Name { get; private set; }
|
|||
|
public string IconUrl { get; private set; }
|
|||
|
public IReadOnlyCollection<RpcGuildUser> Users { get; private set; }
|
|||
|
|
|||
|
internal RpcGuild(DiscordRpcClient discord, ulong id)
|
|||
|
: base(discord, id)
|
|||
|
{
|
|||
|
}
|
|||
|
internal static RpcGuild Create(DiscordRpcClient discord, Model model)
|
|||
|
{
|
|||
|
var entity = new RpcGuild(discord, model.Id);
|
|||
|
entity.Update(model);
|
|||
|
return entity;
|
|||
|
}
|
|||
|
internal void Update(Model model)
|
|||
|
{
|
|||
|
Name = model.Name;
|
|||
|
IconUrl = model.IconUrl;
|
|||
|
Users = model.Members.Select(x => RpcGuildUser.Create(Discord, x)).ToImmutableArray();
|
|||
|
}
|
|||
|
|
|||
|
public override string ToString() => Name;
|
|||
|
private string DebuggerDisplay => $"{Name} ({Id})";
|
|||
|
}
|
|||
|
}
|