Passed
Branch BonHowi (e3d376)
by Bartosz
01:20
created

build.cogs.cogbase.BaseCog.get_monster()   B

Complexity

Conditions 6

Size

Total Lines 29
Code Lines 15

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
eloc 15
dl 0
loc 29
rs 8.6666
c 0
b 0
f 0
cc 6
nop 3
1
import discord
2
from discord.ext import commands
3
from discord_slash.model import SlashCommandPermissionType
4
from discord_slash.utils.manage_commands import create_permission
5
from modules.get_settings import get_settings
6
7
GUILD_IDS = get_settings("guild")
8
MODERATION_IDS = get_settings("MOD_ROLES")
9
PERMISSION_MODS = {
10
    GUILD_IDS[0]: [
11
        create_permission(MODERATION_IDS[0], SlashCommandPermissionType.ROLE, True),
12
        create_permission(MODERATION_IDS[1], SlashCommandPermissionType.ROLE, True)
13
    ]
14
}
15
PERMISSION_ADMINS = {
16
    GUILD_IDS[0]: [
17
        create_permission(get_settings("ADMIN"), SlashCommandPermissionType.USER, True)
18
    ]
19
}
20
21
22
# noinspection PyTypeChecker
23
class BaseCog(commands.Cog):
24
    def __init__(self, bot):
25
        self.bot = bot
26
        print(f"[{self.__class__.__name__}]: Init")
27
28
    def get_bot(self):
29
        return self.bot
30
31
    # Find monster in config
32
    def get_monster(self, ctx, name: str):
33
        """
34
35
        :param ctx:
36
        :type ctx:
37
        :param name:
38
        :type name:
39
        :return:
40
        :rtype:
41
        """
42
        monster_found = []
43
        name = name.lower()
44
45
        for monster in self.bot.config["commands"]:
46
            if monster["name"].lower() == name or name in monster["triggers"]:
47
                monster_found = monster
48
49
        if not monster_found:
50
            print(f"[{self.__class__.__name__}]: Monster not found")
51
            return
52
53
        monster_found["role"] = discord.utils.get(ctx.guild.roles, name=monster_found["name"])
54
        if not monster_found["role"]:
55
            print(f"[{self.__class__.__name__}]: Failed to fetch roleID for monster {monster_found['name']}")
56
            return
57
58
        else:
59
            monster_found["role"] = monster_found["role"].id
60
        return monster_found
61