diff options
Diffstat (limited to 'DiscoBot/Auxiliary')
-rw-r--r-- | DiscoBot/Auxiliary/CommandExtension.cs | 119 | ||||
-rw-r--r-- | DiscoBot/Auxiliary/Permissions.cs | 43 | ||||
-rw-r--r-- | DiscoBot/Auxiliary/TalentEnumerableExtension.cs | 9 |
3 files changed, 4 insertions, 167 deletions
diff --git a/DiscoBot/Auxiliary/CommandExtension.cs b/DiscoBot/Auxiliary/CommandExtension.cs deleted file mode 100644 index 098e35f..0000000 --- a/DiscoBot/Auxiliary/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<IMessage>(); - 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<Task>(); - foreach (var message in test) - { - waiters.Add((message as IUserMessage).DeleteAsync()); - } - Task.WaitAll(waiters.ToArray()); - } - - public static async Task ReplyAsync(this ModuleBase m, IEnumerable<string> 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<string> 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()); - } - } -} diff --git a/DiscoBot/Auxiliary/Permissions.cs b/DiscoBot/Auxiliary/Permissions.cs deleted file mode 100644 index 4d73146..0000000 --- a/DiscoBot/Auxiliary/Permissions.cs +++ /dev/null @@ -1,43 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; - -namespace DiscoBot.Auxiliary -{ - using Discord.Commands; - using Discord.WebSocket; - - public static class Permissions - { - public static bool Check(ICommandContext c, string role) - { - return ((SocketGuildUser)c.User).Roles.ToList().Exists(v => v.Name.Equals(role)); - } - - public static bool Check(ICommandContext c, string[] roles) - { - return roles.Any(role => ((SocketGuildUser)c.User).Roles.ToList().Exists(v => v.Name.Equals(role))); - } - - public static bool Test(ICommandContext c, string role) - { - if (!Check(c, role)) - { - c.Channel.SendMessageAsync("```xl\n Keine ausreichenden Berechtigungen\n```").Wait(); - return false; - } - - return true; - } - - public static void Test(ICommandContext c, string[] roles) - { - if (!Check(c, roles)) - { - c.Channel.SendMessageAsync("```xl\n Keine ausreichenden Berechtigungen\n```").Wait(); - } - } - } -} diff --git a/DiscoBot/Auxiliary/TalentEnumerableExtension.cs b/DiscoBot/Auxiliary/TalentEnumerableExtension.cs index 43c917e..df01de3 100644 --- a/DiscoBot/Auxiliary/TalentEnumerableExtension.cs +++ b/DiscoBot/Auxiliary/TalentEnumerableExtension.cs @@ -1,16 +1,15 @@ -using System; -using System.Collections.Generic; +using System.Collections.Generic; using System.Linq; using System.Text; -using System.Threading.Tasks; +using DSALib; + namespace DiscoBot.Auxiliary { using DiscoBot.Audio; - using DiscoBot.Commands; - using DiscoBot.DSA_Game; using DiscoBot.DSA_Game.Characters; + public static class TalentEnumerableExtension { public static string ProbenTest(this IEnumerable<Talent> List, Character c, string talent, int erschwernis = 0) |