40 lines
1.5 KiB
C#
40 lines
1.5 KiB
C#
using DiscordRPC;
|
|
using DiscordRPC.Logging;
|
|
|
|
namespace PluralRichPresence.Discord
|
|
{
|
|
public class DiscordRpc : IDiscordActivitySetter
|
|
{
|
|
private const string DEFAULT_APPLICATION_ID = "1163661006719963158";
|
|
private const string DEFAULT_ICON = "plural";
|
|
private DiscordRpcClient client;
|
|
public DiscordRpc()
|
|
{
|
|
client = new DiscordRpcClient(Config.GetEntry("DISCORD_APPLICATION_ID", DEFAULT_APPLICATION_ID));
|
|
client.Logger = new ConsoleLogger() { Level = LogLevel.None };
|
|
client.OnReady += (sender, e) => { };
|
|
client.OnPresenceUpdate += (sender, e) => { };
|
|
client.Initialize();
|
|
}
|
|
|
|
public void SetFronter(SystemMember sysMember)
|
|
{
|
|
client.SetPresence(new RichPresence()
|
|
{
|
|
Details = sysMember.Name,
|
|
State = sysMember.Pronouns,
|
|
Assets = new Assets()
|
|
{
|
|
LargeImageKey = (sysMember.ProfilePhotoUrl is not null) ? sysMember.ProfilePhotoUrl : Config.GetEntry("PLURAL_ICON_NAME", DEFAULT_ICON),
|
|
LargeImageText = sysMember.Name + " - " + sysMember.Pronouns,
|
|
SmallImageKey = Config.GetEntry("PLURAL_ICON_NAME", DEFAULT_ICON)
|
|
},
|
|
Timestamps = new Timestamps()
|
|
{
|
|
StartUnixMilliseconds = sysMember.TimeStamp
|
|
}
|
|
});
|
|
}
|
|
}
|
|
}
|