summaryrefslogtreecommitdiff
path: root/dsa/DiscoBot/Rework/Permissions.cs
diff options
context:
space:
mode:
Diffstat (limited to 'dsa/DiscoBot/Rework/Permissions.cs')
-rw-r--r--dsa/DiscoBot/Rework/Permissions.cs43
1 files changed, 43 insertions, 0 deletions
diff --git a/dsa/DiscoBot/Rework/Permissions.cs b/dsa/DiscoBot/Rework/Permissions.cs
new file mode 100644
index 0000000..4d73146
--- /dev/null
+++ b/dsa/DiscoBot/Rework/Permissions.cs
@@ -0,0 +1,43 @@
+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();
+ }
+ }
+ }
+}