From f89f308c525e9deebc6d2cf6416e27dfe1a299dc Mon Sep 17 00:00:00 2001 From: Dennis Kobert Date: Sun, 19 May 2019 16:03:38 +0200 Subject: Cleanup DiscoBot Project --- DiscoBot/ToRework/CommandExtension.cs | 119 ---------------------------------- 1 file changed, 119 deletions(-) delete mode 100644 DiscoBot/ToRework/CommandExtension.cs (limited to 'DiscoBot/ToRework/CommandExtension.cs') diff --git a/DiscoBot/ToRework/CommandExtension.cs b/DiscoBot/ToRework/CommandExtension.cs deleted file mode 100644 index 098e35f..0000000 --- a/DiscoBot/ToRework/CommandExtension.cs +++ /dev/null @@ -1,119 +0,0 @@ -namespace DiscoBot.Auxiliary -{ - using System; - using System.Collections.Generic; - using System.ComponentModel; - using System.IO; - using System.Linq; - using System.Net; - using System.Text; - using System.Threading; - using System.Threading.Tasks; - - using Discord; - using Discord.Commands; - - public static class CommandExtension - { - private static WebClient client; - - public static async Task ReplyTimedAsync(this ModuleBase m, string message, TimeSpan time) - { - var token = message.GetHashCode(); - var send = m.Context.Channel.SendMessageAsync($"#{token}\n```xl\n{message}```", false); - - var barInvoker = new BackgroundWorker(); - barInvoker.DoWork += delegate - { - Thread.Sleep(time); - Delete(token, m); - }; - - await send; - barInvoker.RunWorkerAsync(); - } - - private static void Delete(int token, ModuleBase m) - { - var messagesAsync = m.Context.Channel.GetMessagesAsync(); - Task.WaitAll(messagesAsync.ToArray()); - var list = messagesAsync.ToEnumerable().ToList(); - var messages = new List(); - foreach (var task in list) - { - messages.AddRange(task.ToList()); - } - - var test = messages.Where(x => x.Content.StartsWith($"#{token}\n") && x.Author.IsBot).Select(c=>c ); - var waiters = new List(); - foreach (var message in test) - { - waiters.Add((message as IUserMessage).DeleteAsync()); - } - Task.WaitAll(waiters.ToArray()); - } - - public static async Task ReplyAsync(this ModuleBase m, IEnumerable message, bool directMessage = false) - { - var sb = new StringBuilder(); - foreach (string re in message) - { - if (sb.Length + re.Length > 1798) - { - if (directMessage) - { - await m.Context.User.SendMessageAsync("```xl\n" + sb + "\n```"); - } - else - { - await m.Context.Channel.SendMessageAsync("```xl\n" + sb + "\n```"); - } - - sb.Clear(); - } - - sb.AppendLine(re); - } - - if (directMessage) - { - await m.Context.User.SendMessageAsync("```xl\n" + sb + "\n```"); - } - else - { - await m.Context.Channel.SendMessageAsync("```xl\n" + sb + "\n```"); - } - } - - public static async Task ReplyAsync(this ModuleBase m, IEnumerable message, TimeSpan time) - { - var sb = new StringBuilder(); - foreach (string re in message) - { - if (sb.Length + re.Length > 1798) - { - - await m.ReplyTimedAsync(sb.ToString(), time); - - - sb.Clear(); - } - - sb.AppendLine(re); - } - - await m.ReplyTimedAsync(sb.ToString(), TimeSpan.FromSeconds(90)); - } - - public static async Task SendWebFile(this IMessageChannel channel, string url = "https://i.imgur.com/0iHEycJ.png") - { - if (client == null) - { - client = new WebClient(); - } - - Stream stream = client.OpenRead(url); - await channel.SendFileAsync(stream, url.Split('/').Last()); - } - } -} -- cgit v1.2.3-54-g00ecf