From 4ca7291ebee440d9f3ef2a1643d8d01b29006459 Mon Sep 17 00:00:00 2001 From: TrueDoctor Date: Mon, 9 Apr 2018 13:13:54 +0200 Subject: Added FileHandler to enable sending heros via Discord --- DiscoBot/Commands/FileHandler.cs | 43 ++++++++++++++++++ DiscoBot/Commands/Voice.cs | 10 ++--- DiscoBot/DiscoBot.csproj | 3 +- UnitTestProject1/Properties/AssemblyInfo.cs | 20 --------- UnitTestProject1/UnitTest1.cs | 14 ------ UnitTestProject1/UnitTestProject1.csproj | 67 ----------------------------- UnitTestProject1/packages.config | 5 --- Voice.cs | 4 -- 8 files changed, 50 insertions(+), 116 deletions(-) create mode 100644 DiscoBot/Commands/FileHandler.cs delete mode 100644 UnitTestProject1/Properties/AssemblyInfo.cs delete mode 100644 UnitTestProject1/UnitTest1.cs delete mode 100644 UnitTestProject1/UnitTestProject1.csproj delete mode 100644 UnitTestProject1/packages.config delete mode 100644 Voice.cs diff --git a/DiscoBot/Commands/FileHandler.cs b/DiscoBot/Commands/FileHandler.cs new file mode 100644 index 0000000..efebe3f --- /dev/null +++ b/DiscoBot/Commands/FileHandler.cs @@ -0,0 +1,43 @@ +namespace DiscoBot.Commands +{ + using System; + using System.Linq; + using System.Net; + + using DiscoBot.Auxiliary; + using DiscoBot.Characters; + + using Discord.Commands; + + public class FileHandler : ModuleBase + { + [Command("add"), Summary("fügt Helden hinzu")] + public void AddChar() + { + var msg = this.Context.Message; + if (msg.Attachments == null) + { + throw new ArgumentException("Es wurde keine Datei angehängt"); + } + + var attachments = msg.Attachments.ToList(); + + if (!attachments.Any(x => x.Filename.EndsWith(".xml"))) + { + throw new ArgumentException("Es wurde kein xml Held mitgeschickt"); + } + + foreach (var attachment in attachments.Where(x => x.Filename.EndsWith(".xml"))) + { + using (var client = new WebClient()) + { + client.DownloadFile(attachment.Url, "helden\\" + attachment.Filename); + } + + Dsa.Chars.Add(new Character("helden\\" + attachment.Filename)); + (Dsa.Chars.Last() as Character)?.Talente.Select(x => new Talent(x.Name, x.Probe, 0)) + .Where(c => !Dsa.Talente.Exists(v => v.Name.Equals(c.Name))).ToList().ForEach(v => Dsa.Talente.Add(v)); + } + } + } +} diff --git a/DiscoBot/Commands/Voice.cs b/DiscoBot/Commands/Voice.cs index 72988d4..02210e8 100644 --- a/DiscoBot/Commands/Voice.cs +++ b/DiscoBot/Commands/Voice.cs @@ -39,10 +39,10 @@ [Command("play")] public Task PlayAudioAsync(string path) { - return this.SendAsync(Client, path); + return SendAsync(path); } - private Process CreateStream(string path) + private static Process CreateStream(string path) { var ffmpeg = new ProcessStartInfo { @@ -54,12 +54,12 @@ return Process.Start(ffmpeg); } - private async Task SendAsync(IAudioClient client, string path) + private static async Task SendAsync(string path) { // Create FFmpeg using the previous example - var ffmpeg = this.CreateStream(path); + var ffmpeg = CreateStream(path); var output = ffmpeg.StandardOutput.BaseStream; - var discord = client.CreatePCMStream(AudioApplication.Music); + var discord = Client.CreatePCMStream(AudioApplication.Music); await output.CopyToAsync(discord); await discord.FlushAsync(); } diff --git a/DiscoBot/DiscoBot.csproj b/DiscoBot/DiscoBot.csproj index 2bf17e5..3955ef6 100644 --- a/DiscoBot/DiscoBot.csproj +++ b/DiscoBot/DiscoBot.csproj @@ -148,16 +148,17 @@ + - + diff --git a/UnitTestProject1/Properties/AssemblyInfo.cs b/UnitTestProject1/Properties/AssemblyInfo.cs deleted file mode 100644 index 9dbb2a9..0000000 --- a/UnitTestProject1/Properties/AssemblyInfo.cs +++ /dev/null @@ -1,20 +0,0 @@ -using System.Reflection; -using System.Runtime.CompilerServices; -using System.Runtime.InteropServices; - -[assembly: AssemblyTitle("UnitTestProject1")] -[assembly: AssemblyDescription("")] -[assembly: AssemblyConfiguration("")] -[assembly: AssemblyCompany("")] -[assembly: AssemblyProduct("UnitTestProject1")] -[assembly: AssemblyCopyright("Copyright © 2018")] -[assembly: AssemblyTrademark("")] -[assembly: AssemblyCulture("")] - -[assembly: ComVisible(false)] - -[assembly: Guid("75b56398-a683-4b85-9ba3-b445d2b55527")] - -// [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("1.0.0.0")] -[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/UnitTestProject1/UnitTest1.cs b/UnitTestProject1/UnitTest1.cs deleted file mode 100644 index dbc289d..0000000 --- a/UnitTestProject1/UnitTest1.cs +++ /dev/null @@ -1,14 +0,0 @@ -using System; -using Microsoft.VisualStudio.TestTools.UnitTesting; - -namespace UnitTestProject1 -{ - [TestClass] - public class UnitTest1 - { - [TestMethod] - public void TestMethod1() - { - } - } -} diff --git a/UnitTestProject1/UnitTestProject1.csproj b/UnitTestProject1/UnitTestProject1.csproj deleted file mode 100644 index e887a0e..0000000 --- a/UnitTestProject1/UnitTestProject1.csproj +++ /dev/null @@ -1,67 +0,0 @@ - - - - - Debug - AnyCPU - {75B56398-A683-4B85-9BA3-B445D2B55527} - Library - Properties - UnitTestProject1 - UnitTestProject1 - v4.7.1 - 512 - {3AC096D0-A1C2-E12C-1390-A8335801FDAB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} - 15.0 - $(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion) - $(ProgramFiles)\Common Files\microsoft shared\VSTT\$(VisualStudioVersion)\UITestExtensionPackages - False - UnitTest - - - - - true - full - false - bin\Debug\ - DEBUG;TRACE - prompt - 4 - - - pdbonly - true - bin\Release\ - TRACE - prompt - 4 - - - - ..\packages\MSTest.TestFramework.1.2.0\lib\net45\Microsoft.VisualStudio.TestPlatform.TestFramework.dll - - - ..\packages\MSTest.TestFramework.1.2.0\lib\net45\Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.dll - - - - - - - - - - - - - - - - Dieses Projekt verweist auf mindestens ein NuGet-Paket, das auf diesem Computer fehlt. Verwenden Sie die Wiederherstellung von NuGet-Paketen, um die fehlenden Dateien herunterzuladen. Weitere Informationen finden Sie unter "http://go.microsoft.com/fwlink/?LinkID=322105". Die fehlende Datei ist "{0}". - - - - - - \ No newline at end of file diff --git a/UnitTestProject1/packages.config b/UnitTestProject1/packages.config deleted file mode 100644 index 8819694..0000000 --- a/UnitTestProject1/packages.config +++ /dev/null @@ -1,5 +0,0 @@ - - - - - \ No newline at end of file diff --git a/Voice.cs b/Voice.cs deleted file mode 100644 index 031c49e..0000000 --- a/Voice.cs +++ /dev/null @@ -1,4 +0,0 @@ -using System; -using Discord; - - -- cgit v1.3.1