From 40cb1ab14dcc3b9dd63b68d0231dd9ab5470ac4f Mon Sep 17 00:00:00 2001 From: Serraniel Date: Sun, 25 Mar 2018 23:44:33 +0200 Subject: [PATCH 01/12] Added an option to set online state. Refresh timer added as it was required to display correct information in UI --- .../MainForm.Designer.cs | 89 +++++++++++++++---- Discord Media Loader.Application/MainForm.cs | 55 +++++++++++- .../MainForm.resx | 3 + 3 files changed, 130 insertions(+), 17 deletions(-) diff --git a/Discord Media Loader.Application/MainForm.Designer.cs b/Discord Media Loader.Application/MainForm.Designer.cs index 4b17af7..d3ea045 100644 --- a/Discord Media Loader.Application/MainForm.Designer.cs +++ b/Discord Media Loader.Application/MainForm.Designer.cs @@ -57,6 +57,12 @@ this.btnDelete = new System.Windows.Forms.Button(); this.lbxJobs = new System.Windows.Forms.ListBox(); this.tmrRefreshProgress = new System.Windows.Forms.Timer(this.components); + this.lbStatus = new System.Windows.Forms.ToolStripDropDownButton(); + this.onlineToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.doNotDenyToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.doNotDisturbToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.invisibleToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.tmrTriggerRefresh = new System.Windows.Forms.Timer(this.components); this.pnlSettings.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.edThreadLimit)).BeginInit(); this.groupBox1.SuspendLayout(); @@ -77,7 +83,7 @@ this.pnlSettings.Dock = System.Windows.Forms.DockStyle.Top; this.pnlSettings.Location = new System.Drawing.Point(0, 0); this.pnlSettings.Name = "pnlSettings"; - this.pnlSettings.Size = new System.Drawing.Size(553, 93); + this.pnlSettings.Size = new System.Drawing.Size(690, 93); this.pnlSettings.TabIndex = 0; this.pnlSettings.TabStop = false; this.pnlSettings.Text = "Settings"; @@ -113,7 +119,7 @@ // this.cbSkipExisting.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); this.cbSkipExisting.AutoSize = true; - this.cbSkipExisting.Location = new System.Drawing.Point(447, 42); + this.cbSkipExisting.Location = new System.Drawing.Point(584, 42); this.cbSkipExisting.Name = "cbSkipExisting"; this.cbSkipExisting.Size = new System.Drawing.Size(106, 17); this.cbSkipExisting.TabIndex = 5; @@ -127,7 +133,7 @@ | System.Windows.Forms.AnchorStyles.Right))); this.edNameScheme.Location = new System.Drawing.Point(113, 39); this.edNameScheme.Name = "edNameScheme"; - this.edNameScheme.Size = new System.Drawing.Size(328, 20); + this.edNameScheme.Size = new System.Drawing.Size(465, 20); this.edNameScheme.TabIndex = 4; this.edNameScheme.TextChanged += new System.EventHandler(this.DoSomethingChanged); // @@ -143,7 +149,7 @@ // btnSearchFolders // this.btnSearchFolders.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); - this.btnSearchFolders.Location = new System.Drawing.Point(522, 11); + this.btnSearchFolders.Location = new System.Drawing.Point(659, 11); this.btnSearchFolders.Name = "btnSearchFolders"; this.btnSearchFolders.Size = new System.Drawing.Size(25, 23); this.btnSearchFolders.TabIndex = 2; @@ -157,7 +163,7 @@ | System.Windows.Forms.AnchorStyles.Right))); this.edOperatingFolder.Location = new System.Drawing.Point(113, 13); this.edOperatingFolder.Name = "edOperatingFolder"; - this.edOperatingFolder.Size = new System.Drawing.Size(403, 20); + this.edOperatingFolder.Size = new System.Drawing.Size(540, 20); this.edOperatingFolder.TabIndex = 1; this.edOperatingFolder.TextChanged += new System.EventHandler(this.DoSomethingChanged); // @@ -180,7 +186,7 @@ this.groupBox1.Dock = System.Windows.Forms.DockStyle.Top; this.groupBox1.Location = new System.Drawing.Point(0, 93); this.groupBox1.Name = "groupBox1"; - this.groupBox1.Size = new System.Drawing.Size(553, 57); + this.groupBox1.Size = new System.Drawing.Size(690, 57); this.groupBox1.TabIndex = 1; this.groupBox1.TabStop = false; this.groupBox1.Text = "Add a job"; @@ -188,7 +194,7 @@ // btnAddJob // this.btnAddJob.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); - this.btnAddJob.Location = new System.Drawing.Point(481, 19); + this.btnAddJob.Location = new System.Drawing.Point(618, 19); this.btnAddJob.Name = "btnAddJob"; this.btnAddJob.Size = new System.Drawing.Size(66, 23); this.btnAddJob.TabIndex = 4; @@ -203,7 +209,7 @@ this.cbChannel.FormattingEnabled = true; this.cbChannel.Location = new System.Drawing.Point(294, 19); this.cbChannel.Name = "cbChannel"; - this.cbChannel.Size = new System.Drawing.Size(181, 21); + this.cbChannel.Size = new System.Drawing.Size(318, 21); this.cbChannel.TabIndex = 3; // // lbChannel @@ -236,14 +242,15 @@ // statusStrip // this.statusStrip.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.lbStatus, this.pgbProgress, this.lbProgress, this.lblVersionPlaceholder, this.lbVersion, this.btnDropDown}); - this.statusStrip.Location = new System.Drawing.Point(0, 311); + this.statusStrip.Location = new System.Drawing.Point(0, 393); this.statusStrip.Name = "statusStrip"; - this.statusStrip.Size = new System.Drawing.Size(553, 22); + this.statusStrip.Size = new System.Drawing.Size(690, 22); this.statusStrip.TabIndex = 2; this.statusStrip.Text = "statusStrip1"; // @@ -260,7 +267,7 @@ // lblVersionPlaceholder // this.lblVersionPlaceholder.Name = "lblVersionPlaceholder"; - this.lblVersionPlaceholder.Size = new System.Drawing.Size(302, 17); + this.lblVersionPlaceholder.Size = new System.Drawing.Size(426, 17); this.lblVersionPlaceholder.Spring = true; // // lbVersion @@ -301,7 +308,7 @@ this.groupBox2.Dock = System.Windows.Forms.DockStyle.Fill; this.groupBox2.Location = new System.Drawing.Point(0, 150); this.groupBox2.Name = "groupBox2"; - this.groupBox2.Size = new System.Drawing.Size(553, 161); + this.groupBox2.Size = new System.Drawing.Size(690, 243); this.groupBox2.TabIndex = 3; this.groupBox2.TabStop = false; this.groupBox2.Text = "Jobs"; @@ -309,9 +316,9 @@ // btnDelete // this.btnDelete.Dock = System.Windows.Forms.DockStyle.Bottom; - this.btnDelete.Location = new System.Drawing.Point(3, 135); + this.btnDelete.Location = new System.Drawing.Point(3, 217); this.btnDelete.Name = "btnDelete"; - this.btnDelete.Size = new System.Drawing.Size(547, 23); + this.btnDelete.Size = new System.Drawing.Size(684, 23); this.btnDelete.TabIndex = 1; this.btnDelete.Text = "Delete selected"; this.btnDelete.UseVisualStyleBackColor = true; @@ -325,7 +332,7 @@ this.lbxJobs.FormattingEnabled = true; this.lbxJobs.Location = new System.Drawing.Point(6, 19); this.lbxJobs.Name = "lbxJobs"; - this.lbxJobs.Size = new System.Drawing.Size(541, 108); + this.lbxJobs.Size = new System.Drawing.Size(678, 186); this.lbxJobs.TabIndex = 0; // // tmrRefreshProgress @@ -334,11 +341,55 @@ this.tmrRefreshProgress.Interval = 500; this.tmrRefreshProgress.Tick += new System.EventHandler(this.tmrRefreshProgress_Tick); // + // lbStatus + // + this.lbStatus.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.invisibleToolStripMenuItem, + this.doNotDisturbToolStripMenuItem, + this.doNotDenyToolStripMenuItem, + this.onlineToolStripMenuItem}); + this.lbStatus.Name = "lbStatus"; + this.lbStatus.Size = new System.Drawing.Size(13, 20); + this.lbStatus.DropDownItemClicked += new System.Windows.Forms.ToolStripItemClickedEventHandler(this.toolStripDropDownButton1_DropDownItemClicked); + // + // onlineToolStripMenuItem + // + this.onlineToolStripMenuItem.Name = "onlineToolStripMenuItem"; + this.onlineToolStripMenuItem.Size = new System.Drawing.Size(152, 22); + this.onlineToolStripMenuItem.Tag = "0"; + this.onlineToolStripMenuItem.Text = "Online"; + // + // doNotDenyToolStripMenuItem + // + this.doNotDenyToolStripMenuItem.Name = "doNotDenyToolStripMenuItem"; + this.doNotDenyToolStripMenuItem.Size = new System.Drawing.Size(152, 22); + this.doNotDenyToolStripMenuItem.Tag = "1"; + this.doNotDenyToolStripMenuItem.Text = "Idle"; + // + // doNotDisturbToolStripMenuItem + // + this.doNotDisturbToolStripMenuItem.Name = "doNotDisturbToolStripMenuItem"; + this.doNotDisturbToolStripMenuItem.Size = new System.Drawing.Size(152, 22); + this.doNotDisturbToolStripMenuItem.Tag = "2"; + this.doNotDisturbToolStripMenuItem.Text = "Do not disturb"; + // + // invisibleToolStripMenuItem + // + this.invisibleToolStripMenuItem.Name = "invisibleToolStripMenuItem"; + this.invisibleToolStripMenuItem.Size = new System.Drawing.Size(152, 22); + this.invisibleToolStripMenuItem.Tag = "3"; + this.invisibleToolStripMenuItem.Text = "Invisible"; + // + // tmrTriggerRefresh + // + this.tmrTriggerRefresh.Interval = 5000; + this.tmrTriggerRefresh.Tick += new System.EventHandler(this.tmrTriggerRefresh_Tick); + // // MainForm // this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; - this.ClientSize = new System.Drawing.Size(553, 333); + this.ClientSize = new System.Drawing.Size(690, 415); this.Controls.Add(this.groupBox2); this.Controls.Add(this.statusStrip); this.Controls.Add(this.groupBox1); @@ -391,5 +442,11 @@ private System.Windows.Forms.ToolStripSplitButton btnDropDown; private System.Windows.Forms.ToolStripMenuItem aboutToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem visitGithubToolStripMenuItem; + private System.Windows.Forms.ToolStripDropDownButton lbStatus; + private System.Windows.Forms.ToolStripMenuItem invisibleToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem doNotDisturbToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem doNotDenyToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem onlineToolStripMenuItem; + private System.Windows.Forms.Timer tmrTriggerRefresh; } } \ No newline at end of file diff --git a/Discord Media Loader.Application/MainForm.cs b/Discord Media Loader.Application/MainForm.cs index 20b91ba..2142fda 100644 --- a/Discord Media Loader.Application/MainForm.cs +++ b/Discord Media Loader.Application/MainForm.cs @@ -2,7 +2,9 @@ using System.Diagnostics; using System.Linq; using System.Reflection; +using System.Threading.Tasks; using System.Windows.Forms; +using Discord; using Discord.WebSocket; using DML.AppCore.Classes; using DML.Application.Classes; @@ -11,6 +13,13 @@ using static SweetLib.Utils.Logger.Logger; namespace DML.Application { + enum OnlineState + { + Online, + Idle, + DoNotDisturb, + Invisible + } public partial class MainForm : Form { private bool IsInitialized { get; set; } = false; @@ -31,7 +40,7 @@ namespace DML.Application { Debug("Refreshing components..."); - lbVersion.Text = $"v{Assembly.GetExecutingAssembly().GetName().Version} Copyright © by Serraniel"; + lbVersion.Text = $"v{Assembly.GetExecutingAssembly().GetName().Version} Copyright © by Serraniel"; Trace("Refreshing operating folder component..."); edOperatingFolder.Text = Core.Settings.OperatingFolder; @@ -62,6 +71,8 @@ namespace DML.Application $"{FindServerById(job.GuildId)?.Name}:{FindChannelById(FindServerById(job.GuildId), job.ChannelId)?.Name}"); } lbxJobs.SelectedIndex = oldIndex; + + lbStatus.Text = DMLClient.Client.CurrentUser.Status.ToString(); } private void DoSomethingChanged(object sender, System.EventArgs e) @@ -248,5 +259,47 @@ namespace DML.Application { Process.Start("https://github.com/Serraniel/DiscordMediaLoader/"); } + + private async void toolStripDropDownButton1_DropDownItemClicked(object sender, ToolStripItemClickedEventArgs e) + { + + + /* + * var uiScheduler = TaskScheduler.FromCurrentSynchronizationContext(); + Task.Factory.StartNew(delegate { DoBackgroundComputation(); }, + backgroundScheduler). + ContinueWith(delegate { UpdateUI(); }, uiScheduler). + */ + + var backgroundScheduler = TaskScheduler.Default; + var uiScheduler = TaskScheduler.FromCurrentSynchronizationContext(); + + OnlineState state = (OnlineState)Convert.ToInt32(e.ClickedItem.Tag); + + lbStatus.Text = state.ToString(); + tmrTriggerRefresh.Start(); + + switch (state) + { + case OnlineState.Online: + await DMLClient.Client.SetStatusAsync(UserStatus.Online); + break; + case OnlineState.Idle: + await DMLClient.Client.SetStatusAsync(UserStatus.Idle); + break; + case OnlineState.DoNotDisturb: + await DMLClient.Client.SetStatusAsync(UserStatus.DoNotDisturb); + break; + case OnlineState.Invisible: + await DMLClient.Client.SetStatusAsync(UserStatus.Invisible); + break; + } + } + + private void tmrTriggerRefresh_Tick(object sender, EventArgs e) + { + lbStatus.Text = DMLClient.Client.CurrentUser.Status.ToString(); + tmrTriggerRefresh.Stop(); + } } } diff --git a/Discord Media Loader.Application/MainForm.resx b/Discord Media Loader.Application/MainForm.resx index 7c9ffe0..ef73655 100644 --- a/Discord Media Loader.Application/MainForm.resx +++ b/Discord Media Loader.Application/MainForm.resx @@ -123,6 +123,9 @@ 126, 17 + + 284, 17 + From 7698c55da177b2b991d74ce8c9a552548e64a3a8 Mon Sep 17 00:00:00 2001 From: Serraniel Date: Sun, 25 Mar 2018 23:46:46 +0200 Subject: [PATCH 02/12] Build --- Discord Media Loader.Application/Properties/AssemblyInfo.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Discord Media Loader.Application/Properties/AssemblyInfo.cs b/Discord Media Loader.Application/Properties/AssemblyInfo.cs index 4b8ecc9..1e11210 100644 --- a/Discord Media Loader.Application/Properties/AssemblyInfo.cs +++ b/Discord Media Loader.Application/Properties/AssemblyInfo.cs @@ -32,5 +32,5 @@ using System.Runtime.InteropServices; // Sie können alle Werte angeben oder die standardmäßigen Build- und Revisionsnummern // übernehmen, indem Sie "*" eingeben: // [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("1.0.2.0")] -[assembly: AssemblyFileVersion("1.0.2.0")] +[assembly: AssemblyVersion("1.1.0.0")] +[assembly: AssemblyFileVersion("1.1.0.0")] From cbad923333c69caccde6b9bb49297cb36b35a77e Mon Sep 17 00:00:00 2001 From: Serraniel Date: Mon, 26 Mar 2018 00:01:03 +0200 Subject: [PATCH 03/12] Removed unneccasry parts of code --- Discord Media Loader.Application/MainForm.cs | 12 ------------ 1 file changed, 12 deletions(-) diff --git a/Discord Media Loader.Application/MainForm.cs b/Discord Media Loader.Application/MainForm.cs index 2142fda..59ccd1c 100644 --- a/Discord Media Loader.Application/MainForm.cs +++ b/Discord Media Loader.Application/MainForm.cs @@ -262,18 +262,6 @@ namespace DML.Application private async void toolStripDropDownButton1_DropDownItemClicked(object sender, ToolStripItemClickedEventArgs e) { - - - /* - * var uiScheduler = TaskScheduler.FromCurrentSynchronizationContext(); - Task.Factory.StartNew(delegate { DoBackgroundComputation(); }, - backgroundScheduler). - ContinueWith(delegate { UpdateUI(); }, uiScheduler). - */ - - var backgroundScheduler = TaskScheduler.Default; - var uiScheduler = TaskScheduler.FromCurrentSynchronizationContext(); - OnlineState state = (OnlineState)Convert.ToInt32(e.ClickedItem.Tag); lbStatus.Text = state.ToString(); From 9278a804cf8294045be085e9580d30a8fb1342f8 Mon Sep 17 00:00:00 2001 From: Serraniel Date: Sun, 1 Apr 2018 18:28:39 +0200 Subject: [PATCH 04/12] Added discord rpc and demo repository --- .gitmodules | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 .gitmodules diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 0000000..facfe87 --- /dev/null +++ b/.gitmodules @@ -0,0 +1,6 @@ +[submodule "discord-rpc"] + path = discord-rpc + url = https://github.com/discordapp/discord-rpc.git +[submodule "cshap-discord-rpc-demo"] + path = cshap-discord-rpc-demo + url = https://github.com/nostrenz/cshap-discord-rpc-demo.git From fc27243c1e2678508c4a62efaa37df023d49aa78 Mon Sep 17 00:00:00 2001 From: Serraniel Date: Sun, 1 Apr 2018 18:48:06 +0200 Subject: [PATCH 05/12] Disabled update check on debug versions --- Discord Media Loader/FrmSplash.cs | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Discord Media Loader/FrmSplash.cs b/Discord Media Loader/FrmSplash.cs index adb2043..59f4ccf 100644 --- a/Discord Media Loader/FrmSplash.cs +++ b/Discord Media Loader/FrmSplash.cs @@ -15,6 +15,7 @@ namespace Discord_Media_Loader private async void FrmSplash_Shown(object sender, EventArgs e) { +#if !DEBUG UseWaitCursor = true; try { @@ -52,6 +53,7 @@ namespace Discord_Media_Loader { UseWaitCursor = false; } +#endif DialogResult = DialogResult.OK; } From 8aa1296887e56ea3a35dace90b7c5069d464cc4c Mon Sep 17 00:00:00 2001 From: Serraniel Date: Sun, 1 Apr 2018 18:48:25 +0200 Subject: [PATCH 06/12] Added basic RPC wrapper into project --- .../Classes/RPC/DiscordRpc.cs | 59 +++++++++++++++++++ .../Classes/RPC/RpcWrapper.cs | 29 +++++++++ .../DML.Application.csproj | 2 + 3 files changed, 90 insertions(+) create mode 100644 Discord Media Loader.Application/Classes/RPC/DiscordRpc.cs create mode 100644 Discord Media Loader.Application/Classes/RPC/RpcWrapper.cs diff --git a/Discord Media Loader.Application/Classes/RPC/DiscordRpc.cs b/Discord Media Loader.Application/Classes/RPC/DiscordRpc.cs new file mode 100644 index 0000000..cb50f76 --- /dev/null +++ b/Discord Media Loader.Application/Classes/RPC/DiscordRpc.cs @@ -0,0 +1,59 @@ +using System.Runtime.InteropServices; + +namespace DML.Application.Classes.RPC +{ + // https://github.com/discordapp/discord-rpc/blob/master/examples/button-clicker/Assets/DiscordRpc.cs + // Give that man a cookie ^.^ + + public class DiscordRpc + { + [UnmanagedFunctionPointer(CallingConvention.Cdecl)] + public delegate void ReadyCallback(); + + [UnmanagedFunctionPointer(CallingConvention.Cdecl)] + public delegate void DisconnectedCallback(int errorCode, string message); + + [UnmanagedFunctionPointer(CallingConvention.Cdecl)] + public delegate void ErrorCallback(int errorCode, string message); + + public struct EventHandlers + { + public ReadyCallback readyCallback; + public DisconnectedCallback disconnectedCallback; + public ErrorCallback errorCallback; + } + + // Values explanation and example: https://discordapp.com/developers/docs/rich-presence/how-to#updating-presence-update-presence-payload-fields + [System.Serializable] + public struct RichPresence + { + public string state; /* max 128 bytes */ + public string details; /* max 128 bytes */ + public long startTimestamp; + public long endTimestamp; + public string largeImageKey; /* max 32 bytes */ + public string largeImageText; /* max 128 bytes */ + public string smallImageKey; /* max 32 bytes */ + public string smallImageText; /* max 128 bytes */ + public string partyId; /* max 128 bytes */ + public int partySize; + public int partyMax; + public string matchSecret; /* max 128 bytes */ + public string joinSecret; /* max 128 bytes */ + public string spectateSecret; /* max 128 bytes */ + public bool instance; + } + + [DllImport(RpcWrapper.Dll, EntryPoint = "Discord_Initialize", CallingConvention = CallingConvention.Cdecl)] + public static extern void Initialize(string applicationId, ref EventHandlers handlers, bool autoRegister, string optionalSteamId); + + [DllImport(RpcWrapper.Dll, EntryPoint = "Discord_UpdatePresence", CallingConvention = CallingConvention.Cdecl)] + public static extern void UpdatePresence(ref RichPresence presence); + + [DllImport(RpcWrapper.Dll, EntryPoint = "Discord_RunCallbacks", CallingConvention = CallingConvention.Cdecl)] + public static extern void RunCallbacks(); + + [DllImport(RpcWrapper.Dll, EntryPoint = "Discord_Shutdown", CallingConvention = CallingConvention.Cdecl)] + public static extern void Shutdown(); + } +} diff --git a/Discord Media Loader.Application/Classes/RPC/RpcWrapper.cs b/Discord Media Loader.Application/Classes/RPC/RpcWrapper.cs new file mode 100644 index 0000000..63f027a --- /dev/null +++ b/Discord Media Loader.Application/Classes/RPC/RpcWrapper.cs @@ -0,0 +1,29 @@ +using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; + +namespace DML.Application.Classes.RPC +{ + public class RpcWrapper + { + public const string Dll = "discord-rpc-win32"; + + public RpcWrapper() + { + if (!File.Exists(Dll + ".dll")) + { + MessageBox.Show( + "Missing " + Dll + ".dll\n\n" + + "Grab it from the release on GitHub or from the DiscordRpcDemo/lib/ folder in the repo then put it alongside DiscordRpcDemo.exe.\n\n" + + "https://github.com/nostrenz/cshap-discord-rpc-demo" + ); + + System.Windows.Forms.Application.Exit(); + } + } + } +} diff --git a/Discord Media Loader.Application/DML.Application.csproj b/Discord Media Loader.Application/DML.Application.csproj index 02bf1f5..3f6bc4d 100644 --- a/Discord Media Loader.Application/DML.Application.csproj +++ b/Discord Media Loader.Application/DML.Application.csproj @@ -161,6 +161,8 @@ + + Form From 2add4afa241f938c5103332363989d8dbaf99400 Mon Sep 17 00:00:00 2001 From: Serraniel Date: Sun, 1 Apr 2018 20:16:17 +0200 Subject: [PATCH 07/12] Added helper file --- .../Classes/RPC/DiscordRpcHelper.cs | 16 ++++++++++++++++ .../DML.Application.csproj | 1 + 2 files changed, 17 insertions(+) create mode 100644 Discord Media Loader.Application/Classes/RPC/DiscordRpcHelper.cs diff --git a/Discord Media Loader.Application/Classes/RPC/DiscordRpcHelper.cs b/Discord Media Loader.Application/Classes/RPC/DiscordRpcHelper.cs new file mode 100644 index 0000000..de80a83 --- /dev/null +++ b/Discord Media Loader.Application/Classes/RPC/DiscordRpcHelper.cs @@ -0,0 +1,16 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace DML.Application.Classes.RPC +{ + public static class DiscordRpcHelper + { + public static long DateTimeToTimestamp(DateTime dt) + { + return (dt.Ticks - 621355968000000000) / 10000000; + } + } +} diff --git a/Discord Media Loader.Application/DML.Application.csproj b/Discord Media Loader.Application/DML.Application.csproj index 3f6bc4d..01bf821 100644 --- a/Discord Media Loader.Application/DML.Application.csproj +++ b/Discord Media Loader.Application/DML.Application.csproj @@ -162,6 +162,7 @@ + Form From 051b0713eec35fee0f8a6f78419eea566eb772c2 Mon Sep 17 00:00:00 2001 From: Serraniel Date: Sun, 1 Apr 2018 20:16:58 +0200 Subject: [PATCH 08/12] Implemented rpc handler and added rpc library --- .../Classes/Core.cs | 57 +++++++++++++++++- .../bin/Debug/discord-rpc-win32.dll | Bin 0 -> 295936 bytes 2 files changed, 54 insertions(+), 3 deletions(-) create mode 100644 Discord Media Loader/bin/Debug/discord-rpc-win32.dll diff --git a/Discord Media Loader.Application/Classes/Core.cs b/Discord Media Loader.Application/Classes/Core.cs index c740049..d4c51f8 100644 --- a/Discord Media Loader.Application/Classes/Core.cs +++ b/Discord Media Loader.Application/Classes/Core.cs @@ -8,6 +8,7 @@ using System.Windows.Forms; using Discord; using Discord.WebSocket; using DML.AppCore.Classes; +using DML.Application.Classes.RPC; using DML.Application.Dialogs; using DML.Client; using LiteDB; @@ -26,11 +27,14 @@ namespace DML.Application.Classes internal static LiteDatabase Database { get; set; } internal static Settings Settings { get; set; } internal static JobScheduler Scheduler { get; } = new JobScheduler(); - internal static RavenClient Raven = new RavenClient("https://0de964231669473e9098b9f6cc1d6278:79d9f2eb24034de199b2a37cc058e0f2@sentry.io/257114"); - + internal static RavenClient Raven { get; } = new RavenClient("https://0de964231669473e9098b9f6cc1d6278:79d9f2eb24034de199b2a37cc058e0f2@sentry.io/257114"); + internal static bool ShuttingDown { get; private set; } = false; internal static string DataDirectory => Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData), @"Serraniel\Discord Media Loader"); + internal static DiscordRpc.RichPresence RpcPresence; + internal static DiscordRpc.EventHandlers RpcHandlers = new DiscordRpc.EventHandlers(); + public static async Task Run(string[] paramStrings) { try @@ -175,7 +179,7 @@ namespace DML.Application.Classes if (!string.IsNullOrEmpty(Settings.LoginToken)) { Logger.Debug("Trying to login with last known token..."); - loggedIn= await DMLClient.Login(Settings.LoginToken); + loggedIn = await DMLClient.Login(Settings.LoginToken); } if (!loggedIn) @@ -257,6 +261,26 @@ namespace DML.Application.Classes } } + Logger.Info("Initializing RPC client"); + Logger.Trace("Registering RPC handlers"); + RpcHandlers.readyCallback += RpcReadyCallback; + RpcHandlers.disconnectedCallback += RpcDisconnectedCallback; + RpcHandlers.errorCallback += RpcErrorCallback; + RpcPresence.startTimestamp = DiscordRpcHelper.DateTimeToTimestamp(DateTime.UtcNow); + + Logger.Debug("Calling RPC initialize"); + DiscordRpc.Initialize("430025401851707393", ref RpcHandlers, true, null); + + // Do not await ;) + Task.Run(async () => + { + while (!ShuttingDown) + { + Logger.Trace("Running RPC callbacks"); + await Task.Delay(5000); + } + }); + splash.Close(); Logger.Info("Starting scheduler..."); @@ -264,8 +288,14 @@ namespace DML.Application.Classes System.Windows.Forms.Application.Run(new MainForm()); + // shutting down + ShuttingDown = true; + Logger.Info("Stopping scheduler..."); Scheduler.Stop(); + + Logger.Info("Shutting down RPC client"); + DiscordRpc.Shutdown(); } catch (Exception ex) { @@ -293,5 +323,26 @@ namespace DML.Application.Classes Logger.Trace($"Trying to find channel in {server} by id: {id}"); return (from c in server.TextChannels where c.Id == id select c).FirstOrDefault(); } + + internal static void RpcUpdatePresence() + { + Logger.Debug("Updating RPC presence"); + DiscordRpc.UpdatePresence(ref RpcPresence); + } + + private static void RpcReadyCallback() + { + Logger.Debug("RpcReady"); + } + + private static void RpcDisconnectedCallback(int errorCode, string message) + { + Logger.Warn($"RPC disconnect received: {errorCode} - {message}"); + } + + private static void RpcErrorCallback(int errorCode, string message) + { + Logger.Error($"RPC error received: {errorCode} - {message}"); + } } } diff --git a/Discord Media Loader/bin/Debug/discord-rpc-win32.dll b/Discord Media Loader/bin/Debug/discord-rpc-win32.dll new file mode 100644 index 0000000000000000000000000000000000000000..c77f6d5d0c16b9680b22a48677da9dbf6ccfc0c7 GIT binary patch literal 295936 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%0D5EN96(DHM_8MDkRr^>NOKgTjIk~JEXz#&) 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 literal 0 HcmV?d00001 From 6a6a2e7c9ae7ade7ea0f4d385f6c976216d87a14 Mon Sep 17 00:00:00 2001 From: Serraniel Date: Sun, 1 Apr 2018 20:17:31 +0200 Subject: [PATCH 09/12] Implemented basic rpc setup --- Discord Media Loader.Application/MainForm.cs | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/Discord Media Loader.Application/MainForm.cs b/Discord Media Loader.Application/MainForm.cs index 59ccd1c..066285d 100644 --- a/Discord Media Loader.Application/MainForm.cs +++ b/Discord Media Loader.Application/MainForm.cs @@ -8,6 +8,7 @@ using Discord; using Discord.WebSocket; using DML.AppCore.Classes; using DML.Application.Classes; +using DML.Application.Classes.RPC; using DML.Client; using static SweetLib.Utils.Logger.Logger; @@ -23,6 +24,8 @@ namespace DML.Application public partial class MainForm : Form { private bool IsInitialized { get; set; } = false; + private DiscordRpc.RichPresence Presence { get; } + public MainForm() { InitializeComponent(); @@ -248,6 +251,15 @@ namespace DML.Application pgbProgress.Value = progress; lbProgress.Text = $"Scanned: {scanned} Downloaded: {done} Open: {totalAttachments - done}"; + + Core.RpcPresence.details = "Downloading media files"; + Core.RpcPresence.state = $"{done} / {totalAttachments} ({pgbProgress.Value}%)"; + Core.RpcPresence.largeImageKey = "main"; + Core.RpcPresence.largeImageText = "Visit discordmedialoader.net"; + Core.RpcPresence.smallImageKey = "author"; + Core.RpcPresence.smallImageText = "Made by Serraniel"; + + Core.RpcUpdatePresence(); } private void aboutToolStripMenuItem_Click(object sender, System.EventArgs e) From 842266f3384f60675c87d26f631bb34534f152a0 Mon Sep 17 00:00:00 2001 From: Serraniel Date: Sun, 1 Apr 2018 20:20:35 +0200 Subject: [PATCH 10/12] Revert "Added discord rpc and demo repository" This reverts commit 9278a804cf8294045be085e9580d30a8fb1342f8. --- .gitmodules | 6 ------ 1 file changed, 6 deletions(-) delete mode 100644 .gitmodules diff --git a/.gitmodules b/.gitmodules deleted file mode 100644 index facfe87..0000000 --- a/.gitmodules +++ /dev/null @@ -1,6 +0,0 @@ -[submodule "discord-rpc"] - path = discord-rpc - url = https://github.com/discordapp/discord-rpc.git -[submodule "cshap-discord-rpc-demo"] - path = cshap-discord-rpc-demo - url = https://github.com/nostrenz/cshap-discord-rpc-demo.git From 8ca2ec9b2703a38b1885122d5016657ab77c6d4e Mon Sep 17 00:00:00 2001 From: Serraniel Date: Mon, 23 Apr 2018 21:40:17 +0200 Subject: [PATCH 11/12] Did some corrections because of sweetlib --- Discord Media Loader.Application/Classes/Job.cs | 7 ++++--- Discord Media Loader.Application/Classes/JobScheduler.cs | 6 ++++-- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/Discord Media Loader.Application/Classes/Job.cs b/Discord Media Loader.Application/Classes/Job.cs index a2ea874..077d287 100644 --- a/Discord Media Loader.Application/Classes/Job.cs +++ b/Discord Media Loader.Application/Classes/Job.cs @@ -7,6 +7,7 @@ using Discord.WebSocket; using DML.Application.Classes; using DML.Client; using SweetLib.Utils; +using SweetLib.Utils.Extensions; using static SweetLib.Utils.Logger.Logger; namespace DML.AppCore.Classes @@ -135,8 +136,8 @@ namespace DML.AppCore.Classes Trace($"Updating lastId ({lastId}) to {m.Id}"); lastId = m.Id; } - - if (SweetUtils.DateTimeToUnixTimeStamp(m.CreatedAt.UtcDateTime) <= StopTimestamp) + + if (m.CreatedAt.UtcDateTime.ToUnixTimeStamp() <= StopTimestamp) { Debug("Found a message with a known timestamp...Stopping scan."); finished = true; @@ -163,7 +164,7 @@ namespace DML.AppCore.Classes if (result.Count > 0) { Trace("Updating StopTimestamp for next scan..."); - StopTimestamp = SweetUtils.DateTimeToUnixTimeStamp(result[result.Count - 1].CreatedAt.UtcDateTime); + StopTimestamp = result[result.Count - 1].CreatedAt.UtcDateTime.ToUnixTimeStamp(); } Debug($"Fisnished scan of guild {GuildId} channel {ChannelId}."); diff --git a/Discord Media Loader.Application/Classes/JobScheduler.cs b/Discord Media Loader.Application/Classes/JobScheduler.cs index 0d48177..8db6c12 100644 --- a/Discord Media Loader.Application/Classes/JobScheduler.cs +++ b/Discord Media Loader.Application/Classes/JobScheduler.cs @@ -1,5 +1,6 @@ using System; using System.Collections.Generic; +using System.Globalization; using System.IO; using System.Linq; using System.Net; @@ -8,6 +9,7 @@ using Discord; using Discord.WebSocket; using DML.Application.Classes; using SweetLib.Utils; +using SweetLib.Utils.Extensions; using SweetLib.Utils.Logger; namespace DML.AppCore.Classes @@ -244,7 +246,7 @@ namespace DML.AppCore.Classes fileName = fileName.Replace("%guild%", serverName) .Replace("%channel%", channelName) - .Replace("%timestamp%", SweetUtils.DateTimeToUnixTimeStamp(message.CreatedAt.UtcDateTime).ToString()) + .Replace("%timestamp%", message.CreatedAt.UtcDateTime.ToUnixTimeStamp().ToString(CultureInfo.InvariantCulture)) .Replace("%name%", a.Filename) .Replace("%id%", a.Id.ToString()); @@ -277,7 +279,7 @@ namespace DML.AppCore.Classes Logger.Debug($"Downloaded attachment {a.Id}."); Logger.Trace("Updating known timestamp for job..."); - job.KnownTimestamp = SweetUtils.DateTimeToUnixTimeStamp(message.CreatedAt.UtcDateTime); + job.KnownTimestamp = message.CreatedAt.UtcDateTime.ToUnixTimeStamp(); job.Store(); } finally From 7358be85e30ceb9b751911a13ef09f9c534b52c8 Mon Sep 17 00:00:00 2001 From: Serraniel Date: Mon, 23 Apr 2018 21:40:25 +0200 Subject: [PATCH 12/12] Disable RPC by default --- .../Classes/Core.cs | 37 ++++++++++--------- .../Classes/Settings.cs | 1 + Discord Media Loader.Application/MainForm.cs | 17 +++++---- 3 files changed, 31 insertions(+), 24 deletions(-) diff --git a/Discord Media Loader.Application/Classes/Core.cs b/Discord Media Loader.Application/Classes/Core.cs index d4c51f8..35da35f 100644 --- a/Discord Media Loader.Application/Classes/Core.cs +++ b/Discord Media Loader.Application/Classes/Core.cs @@ -261,25 +261,28 @@ namespace DML.Application.Classes } } - Logger.Info("Initializing RPC client"); - Logger.Trace("Registering RPC handlers"); - RpcHandlers.readyCallback += RpcReadyCallback; - RpcHandlers.disconnectedCallback += RpcDisconnectedCallback; - RpcHandlers.errorCallback += RpcErrorCallback; - RpcPresence.startTimestamp = DiscordRpcHelper.DateTimeToTimestamp(DateTime.UtcNow); - - Logger.Debug("Calling RPC initialize"); - DiscordRpc.Initialize("430025401851707393", ref RpcHandlers, true, null); - - // Do not await ;) - Task.Run(async () => + if (Settings.UseRPC) { - while (!ShuttingDown) + Logger.Info("Initializing RPC client"); + Logger.Trace("Registering RPC handlers"); + RpcHandlers.readyCallback += RpcReadyCallback; + RpcHandlers.disconnectedCallback += RpcDisconnectedCallback; + RpcHandlers.errorCallback += RpcErrorCallback; + RpcPresence.startTimestamp = DiscordRpcHelper.DateTimeToTimestamp(DateTime.UtcNow); + + Logger.Debug("Calling RPC initialize"); + DiscordRpc.Initialize("430025401851707393", ref RpcHandlers, true, null); + + // Do not await ;) + Task.Run(async () => { - Logger.Trace("Running RPC callbacks"); - await Task.Delay(5000); - } - }); + while (!ShuttingDown) + { + Logger.Trace("Running RPC callbacks"); + await Task.Delay(5000); + } + }); + } splash.Close(); diff --git a/Discord Media Loader.Application/Classes/Settings.cs b/Discord Media Loader.Application/Classes/Settings.cs index a9544ee..6297af9 100644 --- a/Discord Media Loader.Application/Classes/Settings.cs +++ b/Discord Media Loader.Application/Classes/Settings.cs @@ -15,6 +15,7 @@ namespace DML.Application.Classes public string FileNameScheme { get; set; } = @"%guild%\%channel%\%id%"; public bool SkipExistingFiles { get; set; } = true; public int ThreadLimit { get; set; } = 50; + public bool UseRPC { get; set; } = false; public void Store() { diff --git a/Discord Media Loader.Application/MainForm.cs b/Discord Media Loader.Application/MainForm.cs index 066285d..87aa8e9 100644 --- a/Discord Media Loader.Application/MainForm.cs +++ b/Discord Media Loader.Application/MainForm.cs @@ -252,14 +252,17 @@ namespace DML.Application lbProgress.Text = $"Scanned: {scanned} Downloaded: {done} Open: {totalAttachments - done}"; - Core.RpcPresence.details = "Downloading media files"; - Core.RpcPresence.state = $"{done} / {totalAttachments} ({pgbProgress.Value}%)"; - Core.RpcPresence.largeImageKey = "main"; - Core.RpcPresence.largeImageText = "Visit discordmedialoader.net"; - Core.RpcPresence.smallImageKey = "author"; - Core.RpcPresence.smallImageText = "Made by Serraniel"; + if (Core.Settings.UseRPC) + { + Core.RpcPresence.details = "Downloading media files"; + Core.RpcPresence.state = $"{done} / {totalAttachments} ({pgbProgress.Value}%)"; + Core.RpcPresence.largeImageKey = "main"; + Core.RpcPresence.largeImageText = "Visit discordmedialoader.net"; + Core.RpcPresence.smallImageKey = "author"; + Core.RpcPresence.smallImageText = "Made by Serraniel"; - Core.RpcUpdatePresence(); + Core.RpcUpdatePresence(); + } } private void aboutToolStripMenuItem_Click(object sender, System.EventArgs e)