diff --git a/Scrubbler.PluginBase/Discord/IDiscordRichPresence.cs b/Scrubbler.PluginBase/Discord/IDiscordRichPresence.cs new file mode 100644 index 0000000..0411e14 --- /dev/null +++ b/Scrubbler.PluginBase/Discord/IDiscordRichPresence.cs @@ -0,0 +1,15 @@ +namespace Scrubbler.PluginBase.Discord +{ + public interface IDiscordRichPresence + { + /// + /// Publishes presence state to the host. + /// + void Publish(NowPlayingPresence presence); + + /// + /// Clears the current presence. + /// + void Clear(); + } +} diff --git a/Scrubbler.PluginBase/Discord/NowPlayingPresence.cs b/Scrubbler.PluginBase/Discord/NowPlayingPresence.cs new file mode 100644 index 0000000..a3fe42f --- /dev/null +++ b/Scrubbler.PluginBase/Discord/NowPlayingPresence.cs @@ -0,0 +1,11 @@ +namespace Scrubbler.PluginBase.Discord +{ + public sealed record NowPlayingPresence( + string Details, + string? State = null, + string? LargeImageKey = null, + string? LargeImageText = null, + string? SmallImageKey = null, + string? SmallImageText = null, + DateTimeOffset? StartTimestamp = null); +} diff --git a/Scrubbler.PluginBase/Scrubbler.PluginBase.csproj b/Scrubbler.PluginBase/Scrubbler.PluginBase.csproj index 0b6f6fc..1c48b3f 100644 --- a/Scrubbler.PluginBase/Scrubbler.PluginBase.csproj +++ b/Scrubbler.PluginBase/Scrubbler.PluginBase.csproj @@ -11,8 +11,8 @@ Library - 0.1.0 - 0.1.0 + 1.0.0 + 1.0.0 Scrubbler.PluginBase