From 25a4645a9defd2e71ac05bb529cbec5c04492f3a Mon Sep 17 00:00:00 2001 From: TrueDoctor Date: Mon, 11 Jun 2018 22:34:52 +0200 Subject: added reply async Stringlist extension --- DiscoBot/Auxiliary/CommandExtension.cs | 37 ++++++++++++++++++++++++++++++++++ DiscoBot/Auxiliary/Extensions.cs | 1 + 2 files changed, 38 insertions(+) diff --git a/DiscoBot/Auxiliary/CommandExtension.cs b/DiscoBot/Auxiliary/CommandExtension.cs index 5d07f6c..8e8d7fb 100644 --- a/DiscoBot/Auxiliary/CommandExtension.cs +++ b/DiscoBot/Auxiliary/CommandExtension.cs @@ -4,6 +4,7 @@ using System.Collections.Generic; using System.ComponentModel; using System.Linq; + using System.Text; using System.Threading; using System.Threading.Tasks; @@ -43,6 +44,42 @@ messages.Where(x => x.Content.StartsWith($"#{token}\n") && x.Author.IsBot)); } + public static async Task ReplyAsync(this ModuleBase m, IEnumerable message) + { + var sb = new StringBuilder(); + foreach (string re in message) + { + if (sb.Length + re.Length > 1798) + { + await m.Context.Channel.SendMessageAsync("```xl\n" + sb + "\n```"); + + sb.Clear(); + } + + sb.AppendLine(re); + } + + 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)); + } } } diff --git a/DiscoBot/Auxiliary/Extensions.cs b/DiscoBot/Auxiliary/Extensions.cs index a1d58fa..fad5dd8 100644 --- a/DiscoBot/Auxiliary/Extensions.cs +++ b/DiscoBot/Auxiliary/Extensions.cs @@ -29,4 +29,5 @@ return temp + str; } } + } -- cgit v1.2.3-54-g00ecf