From dd01dba88d299f14c7f4141b9815f24cad55d51a Mon Sep 17 00:00:00 2001 From: Deukhoofd Date: Sun, 22 Apr 2018 18:45:04 +0200 Subject: [PATCH] Fixed backup file names, improved handling of renaming things --- DeukBot4/MessageHandlers/ImageBackupHandler.cs | 8 +++++--- DeukBot4/MessageHandlers/MainHandler.cs | 5 +++-- DeukBot4/Utilities/StringExtensions.cs | 17 +++++++++++++++++ 3 files changed, 25 insertions(+), 5 deletions(-) create mode 100644 DeukBot4/Utilities/StringExtensions.cs diff --git a/DeukBot4/MessageHandlers/ImageBackupHandler.cs b/DeukBot4/MessageHandlers/ImageBackupHandler.cs index 1bc4a10..b59576b 100644 --- a/DeukBot4/MessageHandlers/ImageBackupHandler.cs +++ b/DeukBot4/MessageHandlers/ImageBackupHandler.cs @@ -55,18 +55,20 @@ namespace DeukBot4.MessageHandlers { using (var client = new WebClient()) { + var attachmentSplit = attachment.Filename.Split('.'); + var filename = $"{attachmentSplit[0]}-{DateTime.UtcNow:s}.{attachmentSplit[1]}"; + var content = client.DownloadData(attachment.Url); - var uri = new Uri($"{Settings.URL}/{attachment.Filename}-{DateTime.UtcNow:s}"); + var uri = new Uri($"{Settings.URL}/{filename}"); client.Credentials = new NetworkCredential(Settings.Username, Settings.Password); try { client.UploadData(uri, "PUT", content); - var attachmentSplit = attachment.Filename.Split('.'); var eb = new EmbedBuilder() { Title = "Image Backed Up", Description = $"Image with the name ``{attachment.Filename}`` was backed up as " + - $"``{attachmentSplit[0]}-{DateTime.UtcNow:s}.{attachmentSplit[1]}``", + $"``{filename}``", ThumbnailUrl = attachment.Url, Timestamp = DateTime.UtcNow }; diff --git a/DeukBot4/MessageHandlers/MainHandler.cs b/DeukBot4/MessageHandlers/MainHandler.cs index fe997bf..ea7f79e 100644 --- a/DeukBot4/MessageHandlers/MainHandler.cs +++ b/DeukBot4/MessageHandlers/MainHandler.cs @@ -1,5 +1,6 @@ using System; using System.Threading.Tasks; +using DeukBot4.Utilities; using Discord.WebSocket; namespace DeukBot4.MessageHandlers @@ -37,10 +38,10 @@ namespace DeukBot4.MessageHandlers private static async Task DeltaHandler(SocketMessage message) { - var lower = message.Content.ToLowerInvariant().Split(' '); + var lower = message.Content.ToLowerInvariant().RemoveSpecialCharacters().Split(' '); foreach (var s in lower) { - var diff = Utilities.Lehvenstein.LevenshteinDistance(s, "delta"); + var diff = Lehvenstein.LevenshteinDistance(s, "delta"); if (diff <= 1) { await message.Channel.SendMessageAsync("uhh excuse me it's called Origin and it's an art"); diff --git a/DeukBot4/Utilities/StringExtensions.cs b/DeukBot4/Utilities/StringExtensions.cs new file mode 100644 index 0000000..f746e40 --- /dev/null +++ b/DeukBot4/Utilities/StringExtensions.cs @@ -0,0 +1,17 @@ +using System.Text; + +namespace DeukBot4.Utilities +{ + public static class StringExtensions + { + public static string RemoveSpecialCharacters(this string str) { + StringBuilder sb = new StringBuilder(); + foreach (char c in str) { + if ((c >= '0' && c <= '9') || (c >= 'A' && c <= 'Z') || (c >= 'a' && c <= 'z')) { + sb.Append(c); + } + } + return sb.ToString(); + } + } +} \ No newline at end of file