Semi upgraded to new Discord.Net

This commit is contained in:
Serraniel 2017-09-25 19:50:59 +02:00
parent 2a5ff86ba9
commit 221b2bdff9
11 changed files with 315 additions and 249 deletions

View file

@ -5,6 +5,7 @@ using System.Linq;
using System.Text; using System.Text;
using System.Threading.Tasks; using System.Threading.Tasks;
using Discord; using Discord;
using Discord.WebSocket;
using SweetLib.Utils; using SweetLib.Utils;
using static SweetLib.Utils.Logger.Logger; using static SweetLib.Utils.Logger.Logger;
@ -47,22 +48,22 @@ namespace DML.Application.Classes
jobDb.Delete(Id); jobDb.Delete(Id);
} }
private Server FindServerById(ulong id) private SocketGuild FindServerById(ulong id)
{ {
Trace($"Trying to find server by Id: {id}"); Trace($"Trying to find server by Id: {id}");
return (from s in Core.Client.Servers where s.Id == id select s).FirstOrDefault(); return (from s in Core.Client.Guilds where s.Id == id select s).FirstOrDefault();
} }
private Channel FindChannelById(Server server, ulong id) private SocketTextChannel FindChannelById(SocketGuild server, ulong id)
{ {
Trace($"Trying to find channel in {server} by id: {id}"); Trace($"Trying to find channel in {server} by id: {id}");
return (from c in server.TextChannels where c.Id == id select c).FirstOrDefault(); return (from c in server.TextChannels where c.Id == id select c).FirstOrDefault();
} }
internal async Task<List<Message>> Scan() internal async Task<List<SocketMessage>> Scan()
{ {
Debug($"Starting scan of guild {GuildId} channel {ChannelId}..."); Debug($"Starting scan of guild {GuildId} channel {ChannelId}...");
var result = new List<Message>(); var result = new List<SocketMessage>();
var limit = 100; var limit = 100;
var lastId = ulong.MaxValue; var lastId = ulong.MaxValue;
@ -79,16 +80,16 @@ namespace DML.Application.Classes
while (!finished) while (!finished)
{ {
Trace("Entering scanning loop..."); Trace("Entering scanning loop...");
Message[] messages; SocketMessage[] messages;
Trace($"Downloading next {limit} messages..."); Trace($"Downloading next {limit} messages...");
if (isFirst) if (isFirst)
{ {
messages = await channel.DownloadMessages(limit, null); messages = await channel.GetMessagesAsync(limit).ToArray() as SocketMessage[];
} }
else else
{ {
messages = await channel.DownloadMessages(limit, lastId); messages = await channel.GetMessagesAsync(lastId, Direction.Before, limit).ToArray() as SocketMessage[];
} }
Trace($"Downloaded {messages.Length} messages."); Trace($"Downloaded {messages.Length} messages.");
@ -106,15 +107,15 @@ namespace DML.Application.Classes
lastId = m.Id; lastId = m.Id;
} }
if (SweetUtils.DateTimeToUnixTimeStamp(m.Timestamp) <= StopTimestamp) if (SweetUtils.DateTimeToUnixTimeStamp(m.CreatedAt.UtcDateTime) <= StopTimestamp)
{ {
Debug("Found a message with a known timestamp...Stopping scan."); Debug("Found a message with a known timestamp...Stopping scan.");
finished = true; finished = true;
continue; continue;
} }
Trace($"Message {m.Id} has {m.Attachments.Length} attachments."); Trace($"Message {m.Id} has {m.Attachments.Count} attachments.");
if (m.Attachments.Length > 0) if (m.Attachments.Count > 0)
{ {
result.Add(m); result.Add(m);
Core.Scheduler.TotalAttachments++; Core.Scheduler.TotalAttachments++;
@ -130,12 +131,12 @@ namespace DML.Application.Classes
Trace($"Downloaded all messages for guild {GuildId} channel {ChannelId}."); Trace($"Downloaded all messages for guild {GuildId} channel {ChannelId}.");
Trace("Sorting messages..."); Trace("Sorting messages...");
result.Sort((a, b) => DateTime.Compare(a.Timestamp, b.Timestamp)); result.Sort((a, b) => DateTime.Compare(a.CreatedAt.UtcDateTime, b.CreatedAt.UtcDateTime));
if (result.Count > 0) if (result.Count > 0)
{ {
Trace("Updating StopTimestamp for next scan..."); Trace("Updating StopTimestamp for next scan...");
StopTimestamp = SweetUtils.DateTimeToUnixTimeStamp(result[result.Count - 1].Timestamp); StopTimestamp = SweetUtils.DateTimeToUnixTimeStamp(result[result.Count - 1].CreatedAt.UtcDateTime);
} }
Debug($"Fisnished scan of guild {GuildId} channel {ChannelId}."); Debug($"Fisnished scan of guild {GuildId} channel {ChannelId}.");

View file

@ -8,6 +8,8 @@ using System.Net;
using System.Text; using System.Text;
using System.Threading.Tasks; using System.Threading.Tasks;
using Discord; using Discord;
using Discord.Rpc;
using Discord.WebSocket;
using SweetLib.Utils; using SweetLib.Utils;
using static SweetLib.Utils.Logger.Logger; using static SweetLib.Utils.Logger.Logger;
@ -21,7 +23,7 @@ namespace DML.Application.Classes
private bool Run { get; set; } = false; private bool Run { get; set; } = false;
internal List<Job> JobList { get; set; } = new List<Job>(); internal List<Job> JobList { get; set; } = new List<Job>();
internal Dictionary<int, Queue<Message>> RunningJobs = new Dictionary<int, Queue<Message>>(); internal Dictionary<int, Queue<SocketMessage>> RunningJobs = new Dictionary<int, Queue<SocketMessage>>();
internal int RunningThreads { get; set; } = 0; internal int RunningThreads { get; set; } = 0;
internal ulong MessagesScanned internal ulong MessagesScanned
@ -96,7 +98,7 @@ namespace DML.Application.Classes
{ {
Debug("Entering job list handler loop..."); Debug("Entering job list handler loop...");
//foreach (var job in JobList) //foreach (var job in JobList)
for(var i = JobList.Count-1;i>=0;i--) for (var i = JobList.Count - 1; i >= 0; i--)
{ {
var job = JobList[i]; var job = JobList[i];
Debug($"Checking job {job}"); Debug($"Checking job {job}");
@ -113,7 +115,7 @@ namespace DML.Application.Classes
if (!hasJob) if (!hasJob)
{ {
Debug("Job is not performed yet...Performing job..."); Debug("Job is not performed yet...Performing job...");
var queue = new Queue<Message>(); var queue = new Queue<SocketMessage>();
Trace("Locking scheduler..."); Trace("Locking scheduler...");
lock (this) lock (this)
@ -126,7 +128,7 @@ namespace DML.Application.Classes
Trace("Issuing job message scan..."); Trace("Issuing job message scan...");
var messages = await job.Scan(); var messages = await job.Scan();
if(messages==null) if (messages == null)
continue; continue;
Trace($"Adding {messages.Count} messages to queue..."); Trace($"Adding {messages.Count} messages to queue...");
@ -180,7 +182,7 @@ namespace DML.Application.Classes
} }
Trace("Found job."); Trace("Found job.");
Queue<Message> queue; Queue<SocketMessage> queue;
Trace("Locking scheduler..."); Trace("Locking scheduler...");
lock (this) lock (this)
{ {
@ -213,7 +215,7 @@ namespace DML.Application.Classes
Trace("Dequeueing message..."); Trace("Dequeueing message...");
var message = queue.Dequeue(); var message = queue.Dequeue();
Debug($"Attachments for message {message.Id}: {message.Attachments.Length}"); Debug($"Attachments for message {message.Id}: {message.Attachments.Count}");
foreach (var a in message.Attachments) foreach (var a in message.Attachments)
{ {
try try
@ -224,18 +226,27 @@ namespace DML.Application.Classes
var extensionRequired = !fileName.EndsWith("%name%"); var extensionRequired = !fileName.EndsWith("%name%");
var serverName = "unknown";
var socketTextChannel = message.Channel as SocketTextChannel;
if (socketTextChannel != null)
{
serverName = socketTextChannel.Guild.Name.Replace(":", "").Replace("/", "")
.Replace("\\", "");
}
fileName = fileName =
fileName.Replace("%guild%", message.Server.Name.Replace(":","").Replace("/","").Replace("\\","")) fileName.Replace("%guild%", serverName)
.Replace("%channel%", message.Channel.Name) .Replace("%channel%", message.Channel.Name)
.Replace("%timestamp%", SweetUtils.DateTimeToUnixTimeStamp(message.Timestamp).ToString()) .Replace("%timestamp%", SweetUtils.DateTimeToUnixTimeStamp(message.CreatedAt.UtcDateTime).ToString())
.Replace("%name%", a.Filename) .Replace("%name%", a.Filename)
.Replace("%id%", a.Id); .Replace("%id%", a.Id.ToString());
if (extensionRequired) if (extensionRequired)
fileName += Path.GetExtension(a.Filename); fileName += Path.GetExtension(a.Filename);
Trace($"Detemined file name: {fileName}."); Trace($"Detemined file name: {fileName}.");
if (File.Exists(fileName) && new FileInfo(fileName).Length == a.Size) if (File.Exists(fileName) && new FileInfo(fileName).Length == a.Size)
{ {
@ -260,7 +271,7 @@ namespace DML.Application.Classes
Debug($"Downloaded attachment {a.Id}."); Debug($"Downloaded attachment {a.Id}.");
Trace("Updating known timestamp for job..."); Trace("Updating known timestamp for job...");
job.KnownTimestamp = SweetUtils.DateTimeToUnixTimeStamp(message.Timestamp); job.KnownTimestamp = SweetUtils.DateTimeToUnixTimeStamp(message.CreatedAt.UtcDateTime);
job.Store(); job.Store();
} }
finally finally

View file

@ -8,6 +8,7 @@ using System.Threading.Tasks;
using System.Windows.Forms; using System.Windows.Forms;
using Discord; using Discord;
using Discord.Net; using Discord.Net;
using Discord.WebSocket;
using DML.Application.Classes; using DML.Application.Classes;
using DML.Application.Dialogs; using DML.Application.Dialogs;
using LiteDB; using LiteDB;
@ -20,7 +21,7 @@ namespace DML.Application
{ {
public static class Core public static class Core
{ {
internal static DiscordClient Client { get; set; } internal static DiscordSocketClient Client { get; set; }
internal static LiteDatabase Database { get; set; } internal static LiteDatabase Database { get; set; }
internal static Settings Settings { get; set; } internal static Settings Settings { get; set; }
internal static JobScheduler Scheduler { get; } = new JobScheduler(); internal static JobScheduler Scheduler { get; } = new JobScheduler();
@ -127,11 +128,12 @@ namespace DML.Application
} }
Debug("Creating discord client..."); Debug("Creating discord client...");
Client = new DiscordClient();
Client.Log.Message += (sender, message) => Client = new DiscordSocketClient();
Client.Log += (arg) =>
{ {
var logMessage = $"DiscordClient: {message.Message}"; var logMessage = $"DiscordClient: {arg.Message}";
switch (message.Severity) switch (arg.Severity)
{ {
case LogSeverity.Verbose: case LogSeverity.Verbose:
Trace(logMessage); Trace(logMessage);
@ -149,40 +151,42 @@ namespace DML.Application
Error(logMessage); Error(logMessage);
break; break;
} }
return Task.CompletedTask;
}; };
Info("Trying to log into discord..."); Info("Trying to log into discord...");
var abort = false; var abort = false;
while (Client.State != ConnectionState.Connected && !abort) Client.Connected += Client_Connected;
{
Trace("Entering login loop.");
while (Client.LoginState != LoginState.LoggedIn && !abort)
{
Debug(Client.ConnectionState.ToString());
Debug(Client.LoginState.ToString());
Trace("Entering login loop.");
try try
{ {
if (Client.ConnectionState == ConnectionState.Connecting)
continue;
if (!string.IsNullOrEmpty(Settings.LoginToken)) if (!string.IsNullOrEmpty(Settings.LoginToken))
{ {
Debug("Trying to login with last known token..."); Debug("Trying to login with last known token...");
await Client.Connect(Settings.LoginToken, TokenType.User); await Client.LoginAsync(TokenType.User, Settings.LoginToken);
await Task.Delay(1000);
} }
if (Client.State != ConnectionState.Connected && Settings.UseUserData &&
!string.IsNullOrEmpty(Settings.Email) &&
!string.IsNullOrEmpty(Settings.Password))
{
Settings.LoginToken = string.Empty;
Debug("Trying to login with email and password...");
await Client.Connect(Settings.Email, Settings.Password);
}
} }
catch (HttpException) catch (HttpException ex)
{ {
Warn("Login seems to have failed or gone wrong."); Warn($"Login seems to have failed or gone wrong: {ex.GetType().Name} - {ex.Message}");
} }
if (Client.State != ConnectionState.Connected) if (Client.LoginState == LoginState.LoggedOut)
{ {
Settings.Password = string.Empty; Settings.Password = string.Empty;
Debug("Showing dialog for username and password..."); Debug("Showing dialog for username and password...");
@ -193,6 +197,14 @@ namespace DML.Application
} }
Debug("Start checking for invalid jobs..."); Debug("Start checking for invalid jobs...");
//Client
while (Client.Guilds.Count==0)
{
// wait until guilds are loaded
}
for (var i = Scheduler.JobList.Count - 1; i >= 0; i--) for (var i = Scheduler.JobList.Count - 1; i >= 0; i--)
{ {
var job = Scheduler.JobList[i]; var job = Scheduler.JobList[i];
@ -235,14 +247,20 @@ namespace DML.Application
} }
} }
//TODO: this is thrid time we implement this.....this has to be fixed!!! private static Task Client_Connected()
private static Server FindServerById(ulong id)
{ {
Trace($"Trying to find server by Id: {id}"); Debug("Connected");
return (from s in Core.Client.Servers where s.Id == id select s).FirstOrDefault(); return Task.CompletedTask;
} }
private static Channel FindChannelById(Server server, ulong id) //TODO: this is thrid time we implement this.....this has to be fixed!!!
private static SocketGuild FindServerById(ulong id)
{
Trace($"Trying to find server by Id: {id}");
return (from s in Core.Client.Guilds where s.Id == id select s).FirstOrDefault();
}
private static SocketTextChannel FindChannelById(SocketGuild server, ulong id)
{ {
Trace($"Trying to find channel in {server} by id: {id}"); Trace($"Trying to find channel in {server} by id: {id}");
return (from c in server.TextChannels where c.Id == id select c).FirstOrDefault(); return (from c in server.TextChannels where c.Id == id select c).FirstOrDefault();

View file

@ -30,17 +30,39 @@
<WarningLevel>4</WarningLevel> <WarningLevel>4</WarningLevel>
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
<Reference Include="Discord.Net, Version=0.9.6.0, Culture=neutral, processorArchitecture=MSIL"> <Reference Include="Discord.Net.Commands, Version=1.0.2.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\Discord.Net.0.9.6\lib\net45\Discord.Net.dll</HintPath> <HintPath>..\packages\Discord.Net.Commands.1.0.2\lib\netstandard1.1\Discord.Net.Commands.dll</HintPath>
<Private>True</Private> </Reference>
<Reference Include="Discord.Net.Core, Version=1.0.2.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\Discord.Net.Core.1.0.2\lib\net45\Discord.Net.Core.dll</HintPath>
</Reference>
<Reference Include="Discord.Net.Rest, Version=1.0.2.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\Discord.Net.Rest.1.0.2\lib\net45\Discord.Net.Rest.dll</HintPath>
</Reference>
<Reference Include="Discord.Net.Rpc, Version=1.0.2.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\Discord.Net.Rpc.1.0.2\lib\net45\Discord.Net.Rpc.dll</HintPath>
</Reference>
<Reference Include="Discord.Net.Webhook, Version=1.0.2.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\Discord.Net.Webhook.1.0.2\lib\netstandard1.1\Discord.Net.Webhook.dll</HintPath>
</Reference>
<Reference Include="Discord.Net.WebSocket, Version=1.0.2.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\Discord.Net.WebSocket.1.0.2\lib\net45\Discord.Net.WebSocket.dll</HintPath>
</Reference> </Reference>
<Reference Include="LiteDB, Version=3.1.0.0, Culture=neutral, PublicKeyToken=4ee40123013c9f27, processorArchitecture=MSIL"> <Reference Include="LiteDB, Version=3.1.0.0, Culture=neutral, PublicKeyToken=4ee40123013c9f27, processorArchitecture=MSIL">
<HintPath>..\packages\LiteDB.3.1.0\lib\net35\LiteDB.dll</HintPath> <HintPath>..\packages\LiteDB.3.1.0\lib\net35\LiteDB.dll</HintPath>
<Private>True</Private> <Private>True</Private>
</Reference> </Reference>
<Reference Include="Newtonsoft.Json, Version=8.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL"> <Reference Include="Microsoft.Extensions.DependencyInjection, Version=1.1.1.0, Culture=neutral, PublicKeyToken=adb9793829ddae60, processorArchitecture=MSIL">
<HintPath>..\packages\Newtonsoft.Json.8.0.3\lib\net45\Newtonsoft.Json.dll</HintPath> <HintPath>..\packages\Microsoft.Extensions.DependencyInjection.1.1.1\lib\netstandard1.1\Microsoft.Extensions.DependencyInjection.dll</HintPath>
<Private>True</Private> </Reference>
<Reference Include="Microsoft.Extensions.DependencyInjection.Abstractions, Version=1.1.1.0, Culture=neutral, PublicKeyToken=adb9793829ddae60, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.Extensions.DependencyInjection.Abstractions.1.1.1\lib\netstandard1.0\Microsoft.Extensions.DependencyInjection.Abstractions.dll</HintPath>
</Reference>
<Reference Include="Microsoft.Win32.Primitives, Version=4.0.2.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.Win32.Primitives.4.3.0\lib\net46\Microsoft.Win32.Primitives.dll</HintPath>
</Reference>
<Reference Include="Newtonsoft.Json, Version=10.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
<HintPath>..\packages\Newtonsoft.Json.10.0.2\lib\net45\Newtonsoft.Json.dll</HintPath>
</Reference> </Reference>
<Reference Include="Nito.AsyncEx, Version=3.0.1.0, Culture=neutral, processorArchitecture=MSIL"> <Reference Include="Nito.AsyncEx, Version=3.0.1.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\Nito.AsyncEx.3.0.1\lib\net45\Nito.AsyncEx.dll</HintPath> <HintPath>..\packages\Nito.AsyncEx.3.0.1\lib\net45\Nito.AsyncEx.dll</HintPath>
@ -59,15 +81,74 @@
<Private>True</Private> <Private>True</Private>
</Reference> </Reference>
<Reference Include="System" /> <Reference Include="System" />
<Reference Include="System.AppContext, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.AppContext.4.3.0\lib\net46\System.AppContext.dll</HintPath>
</Reference>
<Reference Include="System.Collections.Immutable, Version=1.2.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Collections.Immutable.1.3.1\lib\portable-net45+win8+wp8+wpa81\System.Collections.Immutable.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="System.ComponentModel.Composition" />
<Reference Include="System.Console, Version=4.0.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Console.4.3.0\lib\net46\System.Console.dll</HintPath>
</Reference>
<Reference Include="System.Core" /> <Reference Include="System.Core" />
<Reference Include="System.Diagnostics.DiagnosticSource, Version=4.0.1.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.Diagnostics.DiagnosticSource.4.3.0\lib\net46\System.Diagnostics.DiagnosticSource.dll</HintPath>
</Reference>
<Reference Include="System.Drawing" /> <Reference Include="System.Drawing" />
<Reference Include="System.Globalization.Calendars, Version=4.0.2.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Globalization.Calendars.4.3.0\lib\net46\System.Globalization.Calendars.dll</HintPath>
</Reference>
<Reference Include="System.Interactive.Async, Version=3.0.3000.0, Culture=neutral, PublicKeyToken=94bc3704cddfc263, processorArchitecture=MSIL">
<HintPath>..\packages\System.Interactive.Async.3.1.1\lib\net46\System.Interactive.Async.dll</HintPath>
</Reference>
<Reference Include="System.IO.Compression, Version=4.1.2.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL">
<HintPath>..\packages\System.IO.Compression.4.3.0\lib\net46\System.IO.Compression.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="System.IO.Compression.FileSystem" />
<Reference Include="System.IO.Compression.ZipFile, Version=4.0.2.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL">
<HintPath>..\packages\System.IO.Compression.ZipFile.4.3.0\lib\net46\System.IO.Compression.ZipFile.dll</HintPath>
</Reference>
<Reference Include="System.IO.FileSystem, Version=4.0.2.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.IO.FileSystem.4.3.0\lib\net46\System.IO.FileSystem.dll</HintPath>
</Reference>
<Reference Include="System.IO.FileSystem.Primitives, Version=4.0.2.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.IO.FileSystem.Primitives.4.3.0\lib\net46\System.IO.FileSystem.Primitives.dll</HintPath>
</Reference>
<Reference Include="System.Net.Http, Version=4.1.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Net.Http.4.3.0\lib\net46\System.Net.Http.dll</HintPath>
</Reference>
<Reference Include="System.Net.Sockets, Version=4.1.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Net.Sockets.4.3.0\lib\net46\System.Net.Sockets.dll</HintPath>
</Reference>
<Reference Include="System.Numerics" />
<Reference Include="System.Runtime.InteropServices.RuntimeInformation, Version=4.0.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Runtime.InteropServices.RuntimeInformation.4.3.0\lib\net45\System.Runtime.InteropServices.RuntimeInformation.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="System.Security.Cryptography.Algorithms, Version=4.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Security.Cryptography.Algorithms.4.3.0\lib\net461\System.Security.Cryptography.Algorithms.dll</HintPath>
</Reference>
<Reference Include="System.Security.Cryptography.Encoding, Version=4.0.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Security.Cryptography.Encoding.4.3.0\lib\net46\System.Security.Cryptography.Encoding.dll</HintPath>
</Reference>
<Reference Include="System.Security.Cryptography.Primitives, Version=4.0.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Security.Cryptography.Primitives.4.3.0\lib\net46\System.Security.Cryptography.Primitives.dll</HintPath>
</Reference>
<Reference Include="System.Security.Cryptography.X509Certificates, Version=4.1.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Security.Cryptography.X509Certificates.4.3.0\lib\net461\System.Security.Cryptography.X509Certificates.dll</HintPath>
</Reference>
<Reference Include="System.Windows.Forms" /> <Reference Include="System.Windows.Forms" />
<Reference Include="System.Xml.Linq" /> <Reference Include="System.Xml.Linq" />
<Reference Include="System.Data.DataSetExtensions" /> <Reference Include="System.Data.DataSetExtensions" />
<Reference Include="Microsoft.CSharp" /> <Reference Include="Microsoft.CSharp" />
<Reference Include="System.Data" /> <Reference Include="System.Data" />
<Reference Include="System.Net.Http" />
<Reference Include="System.Xml" /> <Reference Include="System.Xml" />
<Reference Include="System.Xml.ReaderWriter, Version=4.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Xml.ReaderWriter.4.3.0\lib\net46\System.Xml.ReaderWriter.dll</HintPath>
</Reference>
<Reference Include="WebSocket4Net, Version=0.14.1.0, Culture=neutral, PublicKeyToken=eb4e154b696bf72a, processorArchitecture=MSIL"> <Reference Include="WebSocket4Net, Version=0.14.1.0, Culture=neutral, PublicKeyToken=eb4e154b696bf72a, processorArchitecture=MSIL">
<HintPath>..\packages\WebSocket4Net.0.14.1\lib\net45\WebSocket4Net.dll</HintPath> <HintPath>..\packages\WebSocket4Net.0.14.1\lib\net45\WebSocket4Net.dll</HintPath>
<Private>True</Private> <Private>True</Private>
@ -119,6 +200,7 @@
</EmbeddedResource> </EmbeddedResource>
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<None Include="app.config" />
<None Include="packages.config" /> <None Include="packages.config" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>

View file

@ -30,25 +30,12 @@
{ {
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(LoginDialog)); System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(LoginDialog));
this.pnlButtons = new System.Windows.Forms.Panel(); this.pnlButtons = new System.Windows.Forms.Panel();
this.tbcLoginMethods = new System.Windows.Forms.TabControl();
this.tpgToken = new System.Windows.Forms.TabPage();
this.tpgUserdata = new System.Windows.Forms.TabPage();
this.lbToken = new System.Windows.Forms.Label();
this.edToken = new System.Windows.Forms.TextBox();
this.lbHowToToken = new System.Windows.Forms.Label();
this.edEmail = new System.Windows.Forms.TextBox();
this.edPassword = new System.Windows.Forms.TextBox();
this.lbEmail = new System.Windows.Forms.Label();
this.lbPassword = new System.Windows.Forms.Label();
this.cbUseUserdata = new System.Windows.Forms.CheckBox();
this.cbSavePassword = new System.Windows.Forms.CheckBox();
this.lbUserdataHints = new System.Windows.Forms.Label();
this.btnOk = new System.Windows.Forms.Button();
this.btnAbort = new System.Windows.Forms.Button(); this.btnAbort = new System.Windows.Forms.Button();
this.btnOk = new System.Windows.Forms.Button();
this.lbHowToToken = new System.Windows.Forms.Label();
this.edToken = new System.Windows.Forms.TextBox();
this.lbToken = new System.Windows.Forms.Label();
this.pnlButtons.SuspendLayout(); this.pnlButtons.SuspendLayout();
this.tbcLoginMethods.SuspendLayout();
this.tpgToken.SuspendLayout();
this.tpgUserdata.SuspendLayout();
this.SuspendLayout(); this.SuspendLayout();
// //
// pnlButtons // pnlButtons
@ -62,133 +49,15 @@
this.pnlButtons.Size = new System.Drawing.Size(426, 51); this.pnlButtons.Size = new System.Drawing.Size(426, 51);
this.pnlButtons.TabIndex = 0; this.pnlButtons.TabIndex = 0;
// //
// tbcLoginMethods // btnAbort
// //
this.tbcLoginMethods.Controls.Add(this.tpgToken); this.btnAbort.Location = new System.Drawing.Point(348, 16);
this.tbcLoginMethods.Controls.Add(this.tpgUserdata); this.btnAbort.Name = "btnAbort";
this.tbcLoginMethods.Dock = System.Windows.Forms.DockStyle.Fill; this.btnAbort.Size = new System.Drawing.Size(75, 23);
this.tbcLoginMethods.Location = new System.Drawing.Point(0, 0); this.btnAbort.TabIndex = 1;
this.tbcLoginMethods.Name = "tbcLoginMethods"; this.btnAbort.Text = "&Abort";
this.tbcLoginMethods.SelectedIndex = 0; this.btnAbort.UseVisualStyleBackColor = true;
this.tbcLoginMethods.Size = new System.Drawing.Size(426, 168); this.btnAbort.Click += new System.EventHandler(this.btnAbort_Click);
this.tbcLoginMethods.TabIndex = 1;
//
// tpgToken
//
this.tpgToken.Controls.Add(this.lbHowToToken);
this.tpgToken.Controls.Add(this.edToken);
this.tpgToken.Controls.Add(this.lbToken);
this.tpgToken.Location = new System.Drawing.Point(4, 22);
this.tpgToken.Name = "tpgToken";
this.tpgToken.Padding = new System.Windows.Forms.Padding(3);
this.tpgToken.Size = new System.Drawing.Size(418, 142);
this.tpgToken.TabIndex = 0;
this.tpgToken.Text = "Token";
this.tpgToken.UseVisualStyleBackColor = true;
//
// tpgUserdata
//
this.tpgUserdata.Controls.Add(this.lbUserdataHints);
this.tpgUserdata.Controls.Add(this.cbSavePassword);
this.tpgUserdata.Controls.Add(this.cbUseUserdata);
this.tpgUserdata.Controls.Add(this.lbPassword);
this.tpgUserdata.Controls.Add(this.lbEmail);
this.tpgUserdata.Controls.Add(this.edPassword);
this.tpgUserdata.Controls.Add(this.edEmail);
this.tpgUserdata.Location = new System.Drawing.Point(4, 22);
this.tpgUserdata.Name = "tpgUserdata";
this.tpgUserdata.Padding = new System.Windows.Forms.Padding(3);
this.tpgUserdata.Size = new System.Drawing.Size(418, 142);
this.tpgUserdata.TabIndex = 1;
this.tpgUserdata.Text = "Userdata";
this.tpgUserdata.UseVisualStyleBackColor = true;
//
// lbToken
//
this.lbToken.AutoSize = true;
this.lbToken.Location = new System.Drawing.Point(3, 9);
this.lbToken.Name = "lbToken";
this.lbToken.Size = new System.Drawing.Size(66, 13);
this.lbToken.TabIndex = 0;
this.lbToken.Text = "Login token:";
//
// edToken
//
this.edToken.Location = new System.Drawing.Point(75, 6);
this.edToken.Name = "edToken";
this.edToken.Size = new System.Drawing.Size(335, 20);
this.edToken.TabIndex = 1;
//
// lbHowToToken
//
this.lbHowToToken.Location = new System.Drawing.Point(3, 52);
this.lbHowToToken.Name = "lbHowToToken";
this.lbHowToToken.Size = new System.Drawing.Size(412, 87);
this.lbHowToToken.TabIndex = 2;
this.lbHowToToken.Text = resources.GetString("lbHowToToken.Text");
//
// edEmail
//
this.edEmail.Location = new System.Drawing.Point(47, 6);
this.edEmail.Name = "edEmail";
this.edEmail.Size = new System.Drawing.Size(133, 20);
this.edEmail.TabIndex = 0;
//
// edPassword
//
this.edPassword.Location = new System.Drawing.Point(279, 6);
this.edPassword.Name = "edPassword";
this.edPassword.PasswordChar = '•';
this.edPassword.Size = new System.Drawing.Size(133, 20);
this.edPassword.TabIndex = 1;
//
// lbEmail
//
this.lbEmail.AutoSize = true;
this.lbEmail.Location = new System.Drawing.Point(6, 9);
this.lbEmail.Name = "lbEmail";
this.lbEmail.Size = new System.Drawing.Size(35, 13);
this.lbEmail.TabIndex = 2;
this.lbEmail.Text = "Email:";
//
// lbPassword
//
this.lbPassword.AutoSize = true;
this.lbPassword.Location = new System.Drawing.Point(217, 9);
this.lbPassword.Name = "lbPassword";
this.lbPassword.Size = new System.Drawing.Size(56, 13);
this.lbPassword.TabIndex = 3;
this.lbPassword.Text = "Password:";
//
// cbUseUserdata
//
this.cbUseUserdata.AutoSize = true;
this.cbUseUserdata.Location = new System.Drawing.Point(6, 32);
this.cbUseUserdata.Name = "cbUseUserdata";
this.cbUseUserdata.Size = new System.Drawing.Size(139, 17);
this.cbUseUserdata.TabIndex = 4;
this.cbUseUserdata.Text = "Use login with user data";
this.cbUseUserdata.UseVisualStyleBackColor = true;
//
// cbSavePassword
//
this.cbSavePassword.AutoSize = true;
this.cbSavePassword.Location = new System.Drawing.Point(313, 32);
this.cbSavePassword.Name = "cbSavePassword";
this.cbSavePassword.Size = new System.Drawing.Size(99, 17);
this.cbSavePassword.TabIndex = 5;
this.cbSavePassword.Text = "Save password";
this.cbSavePassword.UseVisualStyleBackColor = true;
//
// lbUserdataHints
//
this.lbUserdataHints.Location = new System.Drawing.Point(3, 52);
this.lbUserdataHints.Name = "lbUserdataHints";
this.lbUserdataHints.Size = new System.Drawing.Size(412, 87);
this.lbUserdataHints.TabIndex = 6;
this.lbUserdataHints.Text = "Login with email and password is not recommended. If you use two factor authentic" +
"ation this can cause a ban of your discord account.\r\n\r\nFor safety reasons we rec" +
"ommend to login with login token.";
// //
// btnOk // btnOk
// //
@ -200,22 +69,38 @@
this.btnOk.UseVisualStyleBackColor = true; this.btnOk.UseVisualStyleBackColor = true;
this.btnOk.Click += new System.EventHandler(this.btnOk_Click); this.btnOk.Click += new System.EventHandler(this.btnOk_Click);
// //
// btnAbort // lbHowToToken
// //
this.btnAbort.Location = new System.Drawing.Point(348, 16); this.lbHowToToken.Location = new System.Drawing.Point(7, 58);
this.btnAbort.Name = "btnAbort"; this.lbHowToToken.Name = "lbHowToToken";
this.btnAbort.Size = new System.Drawing.Size(75, 23); this.lbHowToToken.Size = new System.Drawing.Size(412, 87);
this.btnAbort.TabIndex = 1; this.lbHowToToken.TabIndex = 5;
this.btnAbort.Text = "&Abort"; this.lbHowToToken.Text = resources.GetString("lbHowToToken.Text");
this.btnAbort.UseVisualStyleBackColor = true; //
this.btnAbort.Click += new System.EventHandler(this.btnAbort_Click); // edToken
//
this.edToken.Location = new System.Drawing.Point(79, 12);
this.edToken.Name = "edToken";
this.edToken.Size = new System.Drawing.Size(335, 20);
this.edToken.TabIndex = 4;
//
// lbToken
//
this.lbToken.AutoSize = true;
this.lbToken.Location = new System.Drawing.Point(7, 15);
this.lbToken.Name = "lbToken";
this.lbToken.Size = new System.Drawing.Size(66, 13);
this.lbToken.TabIndex = 3;
this.lbToken.Text = "Login token:";
// //
// LoginDialog // LoginDialog
// //
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(426, 219); this.ClientSize = new System.Drawing.Size(426, 219);
this.Controls.Add(this.tbcLoginMethods); this.Controls.Add(this.lbHowToToken);
this.Controls.Add(this.edToken);
this.Controls.Add(this.lbToken);
this.Controls.Add(this.pnlButtons); this.Controls.Add(this.pnlButtons);
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog; this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
@ -227,32 +112,18 @@
this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.LoginDialog_FormClosing); this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.LoginDialog_FormClosing);
this.Shown += new System.EventHandler(this.LoginDialog_Shown); this.Shown += new System.EventHandler(this.LoginDialog_Shown);
this.pnlButtons.ResumeLayout(false); this.pnlButtons.ResumeLayout(false);
this.tbcLoginMethods.ResumeLayout(false);
this.tpgToken.ResumeLayout(false);
this.tpgToken.PerformLayout();
this.tpgUserdata.ResumeLayout(false);
this.tpgUserdata.PerformLayout();
this.ResumeLayout(false); this.ResumeLayout(false);
this.PerformLayout();
} }
#endregion #endregion
private System.Windows.Forms.Panel pnlButtons; private System.Windows.Forms.Panel pnlButtons;
private System.Windows.Forms.TabControl tbcLoginMethods; private System.Windows.Forms.Button btnAbort;
private System.Windows.Forms.TabPage tpgToken; private System.Windows.Forms.Button btnOk;
private System.Windows.Forms.Label lbHowToToken; private System.Windows.Forms.Label lbHowToToken;
private System.Windows.Forms.TextBox edToken; private System.Windows.Forms.TextBox edToken;
private System.Windows.Forms.Label lbToken; private System.Windows.Forms.Label lbToken;
private System.Windows.Forms.TabPage tpgUserdata;
private System.Windows.Forms.Button btnAbort;
private System.Windows.Forms.Button btnOk;
private System.Windows.Forms.Label lbUserdataHints;
private System.Windows.Forms.CheckBox cbSavePassword;
private System.Windows.Forms.CheckBox cbUseUserdata;
private System.Windows.Forms.Label lbPassword;
private System.Windows.Forms.Label lbEmail;
private System.Windows.Forms.TextBox edPassword;
private System.Windows.Forms.TextBox edEmail;
} }
} }

View file

@ -22,12 +22,6 @@ namespace DML.Application.Dialogs
{ {
Trace("Login dialog shown."); Trace("Login dialog shown.");
edToken.Text = Core.Settings.LoginToken; edToken.Text = Core.Settings.LoginToken;
edEmail.Text = Core.Settings.Email;
edPassword.Text = Core.Settings.Password;
cbUseUserdata.Checked = Core.Settings.UseUserData;
cbSavePassword.Checked = Core.Settings.SavePassword;
tbcLoginMethods.SelectedTab = Core.Settings.UseUserData ? tpgUserdata : tpgToken;
} }
private void LoginDialog_FormClosing(object sender, FormClosingEventArgs e) private void LoginDialog_FormClosing(object sender, FormClosingEventArgs e)
@ -38,10 +32,6 @@ namespace DML.Application.Dialogs
Debug("Adjusting login settings..."); Debug("Adjusting login settings...");
Core.Settings.LoginToken = edToken.Text; Core.Settings.LoginToken = edToken.Text;
Core.Settings.Email = edEmail.Text;
Core.Settings.Password = edPassword.Text;
Core.Settings.UseUserData = cbUseUserdata.Checked;
Core.Settings.SavePassword = cbSavePassword.Checked;
Core.Settings.Store(); Core.Settings.Store();
} }

View file

@ -4,6 +4,7 @@ using System.Linq;
using System.Reflection; using System.Reflection;
using System.Windows.Forms; using System.Windows.Forms;
using Discord; using Discord;
using Discord.WebSocket;
using DML.Application.Classes; using DML.Application.Classes;
using static SweetLib.Utils.Logger.Logger; using static SweetLib.Utils.Logger.Logger;
@ -46,7 +47,7 @@ namespace DML.Application
if (cbGuild.Items.Count == 0) if (cbGuild.Items.Count == 0)
{ {
Trace("Adding guilds to component..."); Trace("Adding guilds to component...");
cbGuild.Items.AddRange(Core.Client.Servers.OrderBy(g => g.Name).Select(g => g.Name).ToArray()); cbGuild.Items.AddRange(Core.Client.Guilds.OrderBy(g => g.Name).Select(g => g.Name).ToArray());
cbGuild.SelectedIndex = 0; cbGuild.SelectedIndex = 0;
Trace("Guild component initialized."); Trace("Guild component initialized.");
} }
@ -108,25 +109,25 @@ namespace DML.Application
} }
} }
private Server FindServerByName(string name) private SocketGuild FindServerByName(string name)
{ {
Trace($"Trying to find server by name: {name}"); Trace($"Trying to find server by name: {name}");
return (from s in Core.Client.Servers where s.Name == name select s).FirstOrDefault(); return (from s in Core.Client.Guilds where s.Name == name select s).FirstOrDefault();
} }
private Channel FindChannelByName(Server server, string name) private SocketTextChannel FindChannelByName(SocketGuild server, string name)
{ {
Trace($"Trying to find channel in {server} by name: {name}"); Trace($"Trying to find channel in {server} by name: {name}");
return (from c in server.TextChannels where c.Name == name select c).FirstOrDefault(); return (from c in server.TextChannels where c.Name == name select c).FirstOrDefault();
} }
private Server FindServerById(ulong id) private SocketGuild FindServerById(ulong id)
{ {
Trace($"Trying to find server by Id: {id}"); Trace($"Trying to find server by Id: {id}");
return (from s in Core.Client.Servers where s.Id == id select s).FirstOrDefault(); return (from s in Core.Client.Guilds where s.Id == id select s).FirstOrDefault();
} }
private Channel FindChannelById(Server server, ulong id) private SocketTextChannel FindChannelById(SocketGuild server, ulong id)
{ {
Trace($"Trying to find channel in {server} by id: {id}"); Trace($"Trying to find channel in {server} by id: {id}");
return (from c in server.TextChannels where c.Id == id select c).FirstOrDefault(); return (from c in server.TextChannels where c.Id == id select c).FirstOrDefault();

View file

@ -0,0 +1,19 @@
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="System.Interactive.Async" publicKeyToken="94bc3704cddfc263" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-3.0.3000.0" newVersion="3.0.3000.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Net.Http" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.1.1.0" newVersion="4.1.1.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Diagnostics.DiagnosticSource" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.1.0" newVersion="4.0.1.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>
</configuration>

View file

@ -1,9 +1,66 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<packages> <packages>
<package id="Discord.Net" version="0.9.6" targetFramework="net461" /> <package id="Discord.Net" version="1.0.2" targetFramework="net461" />
<package id="Discord.Net.Commands" version="1.0.2" targetFramework="net461" />
<package id="Discord.Net.Core" version="1.0.2" targetFramework="net461" />
<package id="Discord.Net.Rest" version="1.0.2" targetFramework="net461" />
<package id="Discord.Net.Rpc" version="1.0.2" targetFramework="net461" />
<package id="Discord.Net.Webhook" version="1.0.2" targetFramework="net461" />
<package id="Discord.Net.WebSocket" version="1.0.2" targetFramework="net461" />
<package id="LiteDB" version="3.1.0" targetFramework="net461" /> <package id="LiteDB" version="3.1.0" targetFramework="net461" />
<package id="Newtonsoft.Json" version="8.0.3" targetFramework="net461" /> <package id="Microsoft.Extensions.DependencyInjection" version="1.1.1" targetFramework="net461" />
<package id="Microsoft.Extensions.DependencyInjection.Abstractions" version="1.1.1" targetFramework="net461" />
<package id="Microsoft.NETCore.Platforms" version="1.1.0" targetFramework="net461" />
<package id="Microsoft.Win32.Primitives" version="4.3.0" targetFramework="net461" />
<package id="NETStandard.Library" version="1.6.1" targetFramework="net461" />
<package id="Newtonsoft.Json" version="10.0.2" targetFramework="net461" />
<package id="Nito.AsyncEx" version="3.0.1" targetFramework="net461" /> <package id="Nito.AsyncEx" version="3.0.1" targetFramework="net461" />
<package id="RestSharp" version="105.2.3" targetFramework="net461" /> <package id="RestSharp" version="105.2.3" targetFramework="net461" />
<package id="System.AppContext" version="4.3.0" targetFramework="net461" />
<package id="System.Collections" version="4.3.0" targetFramework="net461" />
<package id="System.Collections.Concurrent" version="4.3.0" targetFramework="net461" />
<package id="System.Collections.Immutable" version="1.3.1" targetFramework="net461" />
<package id="System.ComponentModel" version="4.3.0" targetFramework="net461" />
<package id="System.Console" version="4.3.0" targetFramework="net461" />
<package id="System.Diagnostics.Debug" version="4.3.0" targetFramework="net461" />
<package id="System.Diagnostics.DiagnosticSource" version="4.3.0" targetFramework="net461" />
<package id="System.Diagnostics.Tools" version="4.3.0" targetFramework="net461" />
<package id="System.Diagnostics.Tracing" version="4.3.0" targetFramework="net461" />
<package id="System.Globalization" version="4.3.0" targetFramework="net461" />
<package id="System.Globalization.Calendars" version="4.3.0" targetFramework="net461" />
<package id="System.Interactive.Async" version="3.1.1" targetFramework="net461" />
<package id="System.IO" version="4.3.0" targetFramework="net461" />
<package id="System.IO.Compression" version="4.3.0" targetFramework="net461" />
<package id="System.IO.Compression.ZipFile" version="4.3.0" targetFramework="net461" />
<package id="System.IO.FileSystem" version="4.3.0" targetFramework="net461" />
<package id="System.IO.FileSystem.Primitives" version="4.3.0" targetFramework="net461" />
<package id="System.Linq" version="4.3.0" targetFramework="net461" />
<package id="System.Linq.Expressions" version="4.3.0" targetFramework="net461" />
<package id="System.Net.Http" version="4.3.0" targetFramework="net461" />
<package id="System.Net.Primitives" version="4.3.0" targetFramework="net461" />
<package id="System.Net.Sockets" version="4.3.0" targetFramework="net461" />
<package id="System.ObjectModel" version="4.3.0" targetFramework="net461" />
<package id="System.Reflection" version="4.3.0" targetFramework="net461" />
<package id="System.Reflection.Extensions" version="4.3.0" targetFramework="net461" />
<package id="System.Reflection.Primitives" version="4.3.0" targetFramework="net461" />
<package id="System.Resources.ResourceManager" version="4.3.0" targetFramework="net461" />
<package id="System.Runtime" version="4.3.0" targetFramework="net461" />
<package id="System.Runtime.Extensions" version="4.3.0" targetFramework="net461" />
<package id="System.Runtime.Handles" version="4.3.0" targetFramework="net461" />
<package id="System.Runtime.InteropServices" version="4.3.0" targetFramework="net461" />
<package id="System.Runtime.InteropServices.RuntimeInformation" version="4.3.0" targetFramework="net461" />
<package id="System.Runtime.Numerics" version="4.3.0" targetFramework="net461" />
<package id="System.Security.Cryptography.Algorithms" version="4.3.0" targetFramework="net461" />
<package id="System.Security.Cryptography.Encoding" version="4.3.0" targetFramework="net461" />
<package id="System.Security.Cryptography.Primitives" version="4.3.0" targetFramework="net461" />
<package id="System.Security.Cryptography.X509Certificates" version="4.3.0" targetFramework="net461" />
<package id="System.Text.Encoding" version="4.3.0" targetFramework="net461" />
<package id="System.Text.Encoding.Extensions" version="4.3.0" targetFramework="net461" />
<package id="System.Text.RegularExpressions" version="4.3.0" targetFramework="net461" />
<package id="System.Threading" version="4.3.0" targetFramework="net461" />
<package id="System.Threading.Tasks" version="4.3.0" targetFramework="net461" />
<package id="System.Threading.Timer" version="4.3.0" targetFramework="net461" />
<package id="System.Xml.ReaderWriter" version="4.3.0" targetFramework="net461" />
<package id="System.Xml.XDocument" version="4.3.0" targetFramework="net461" />
<package id="WebSocket4Net" version="0.14.1" targetFramework="net461" /> <package id="WebSocket4Net" version="0.14.1" targetFramework="net461" />
</packages> </packages>

View file

@ -1,6 +1,22 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<configuration> <configuration>
<startup> <startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.1"/> <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.1" />
</startup> </startup>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="System.Net.Http" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.1.1.0" newVersion="4.1.1.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Interactive.Async" publicKeyToken="94bc3704cddfc263" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-3.0.3000.0" newVersion="3.0.3000.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Diagnostics.DiagnosticSource" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.1.0" newVersion="4.0.1.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>
</configuration> </configuration>

View file

@ -25,7 +25,7 @@ namespace Discord_Media_Loader
UseWaitCursor = true; UseWaitCursor = true;
try try
{ {
var releaseVersion = await VersionHelper.GetReleaseVersion(); /*var releaseVersion = await VersionHelper.GetReleaseVersion();
if (releaseVersion > VersionHelper.CurrentVersion) if (releaseVersion > VersionHelper.CurrentVersion)
{ {
var tmpFile = Path.GetTempFileName(); var tmpFile = Path.GetTempFileName();
@ -52,7 +52,7 @@ namespace Discord_Media_Loader
} }
File.Delete(tmpFile); File.Delete(tmpFile);
} }*/
} }
finally finally
{ {