Remove RPC from main distribution (#925)
This commit is contained in:
36
experiment/Discord.Net.Rpc/Entities/Guilds/RpcGuild.cs
Normal file
36
experiment/Discord.Net.Rpc/Entities/Guilds/RpcGuild.cs
Normal file
@@ -0,0 +1,36 @@
|
||||
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})";
|
||||
}
|
||||
}
|
||||
30
experiment/Discord.Net.Rpc/Entities/Guilds/RpcGuildStatus.cs
Normal file
30
experiment/Discord.Net.Rpc/Entities/Guilds/RpcGuildStatus.cs
Normal file
@@ -0,0 +1,30 @@
|
||||
using System.Diagnostics;
|
||||
using Model = Discord.API.Rpc.GuildStatusEvent;
|
||||
|
||||
namespace Discord.Rpc
|
||||
{
|
||||
[DebuggerDisplay(@"{DebuggerDisplay,nq}")]
|
||||
public class RpcGuildStatus
|
||||
{
|
||||
public RpcGuildSummary Guild { get; }
|
||||
public int Online { get; private set; }
|
||||
|
||||
internal RpcGuildStatus(ulong guildId)
|
||||
{
|
||||
Guild = new RpcGuildSummary(guildId);
|
||||
}
|
||||
internal static RpcGuildStatus Create(Model model)
|
||||
{
|
||||
var entity = new RpcGuildStatus(model.Guild.Id);
|
||||
entity.Update(model);
|
||||
return entity;
|
||||
}
|
||||
internal void Update(Model model)
|
||||
{
|
||||
Online = model.Online;
|
||||
}
|
||||
|
||||
public override string ToString() => Guild.Name;
|
||||
private string DebuggerDisplay => $"{Guild.Name} ({Guild.Id}, {Online} Online)";
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,30 @@
|
||||
using System.Diagnostics;
|
||||
using Model = Discord.API.Rpc.GuildSummary;
|
||||
|
||||
namespace Discord.Rpc
|
||||
{
|
||||
[DebuggerDisplay(@"{DebuggerDisplay,nq}")]
|
||||
public class RpcGuildSummary
|
||||
{
|
||||
public ulong Id { get; }
|
||||
public string Name { get; private set; }
|
||||
|
||||
internal RpcGuildSummary(ulong id)
|
||||
{
|
||||
Id = id;
|
||||
}
|
||||
internal static RpcGuildSummary Create(Model model)
|
||||
{
|
||||
var entity = new RpcGuildSummary(model.Id);
|
||||
entity.Update(model);
|
||||
return entity;
|
||||
}
|
||||
internal void Update(Model model)
|
||||
{
|
||||
Name = model.Name;
|
||||
}
|
||||
|
||||
public override string ToString() => Name;
|
||||
private string DebuggerDisplay => $"{Name} ({Id})";
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user