summaryrefslogtreecommitdiff
path: root/dsa/DiscoBot/Auxiliary/Permissions.cs
blob: 3ec4a2efb7a86758fa747cbecc6ab7d96115d689 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
using System.Collections.Generic;
using System.Linq;
using Discord.Commands;
using Discord.WebSocket;

namespace DiscoBot.Auxiliary
{
    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, IEnumerable<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)) return true;
            c.Channel.SendMessageAsync("```xl\n Keine ausreichenden Berechtigungen\n```").Wait();
            return false;
        }

        public static void Test(ICommandContext c, string[] roles)
        {
            if (!Check(c, roles)) c.Channel.SendMessageAsync("```xl\n Keine ausreichenden Berechtigungen\n```").Wait();
        }
    }
}