File size: 2,922 Bytes
e52b8e1
 
 
 
 
83dba3e
157e563
9d20627
 
f957322
 
 
e52b8e1
ee60860
 
 
 
 
 
 
 
2721b5a
 
 
 
 
ee60860
 
 
 
 
 
 
 
e52b8e1
00559cf
 
 
 
ee60860
00559cf
 
 
 
 
e52b8e1
ee60860
 
 
 
f957322
9d20627
f957322
 
 
9d20627
 
e52b8e1
9d20627
 
 
 
 
 
f957322
e52b8e1
9d20627
 
 
 
 
83dba3e
 
f957322
9d20627
 
f957322
157e563
9d20627
f957322
 
 
 
 
 
 
 
 
 
 
 
 
157e563
9d20627
 
 
157e563
9d20627
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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
from utils.models import (
    _getRoleObjects,
    _getEmojiObjects,
    _getRoleIconObjects,
    _mapRoleRoleIcons,
    _getScreenObjects,
    _getAvatarObjects,
    _getProfileIconObjects,
    _getEmojiCollectionObjects,
    _mapEmojiCollections,
    _getAvatarItemSetObjects,
    _mapItemItemSets
)
from dotenv import load_dotenv
from os import getenv
import requests

load_dotenv()


class Wolvesville:
    def __init__(self, api_key=None):
        if api_key == None:
            API_KEY = getenv("API_KEY")
        else:
            API_KEY = api_key
        self.headers = {"Authorization": f"Bot {API_KEY}"}
        self.url = "https://api.wolvesville.com"

    def getRoles(self):
        data = requests.get(f"{self.url}/roles", headers=self.headers).json()
        roles = data["roles"]
        resp = _getRoleObjects(roles=roles)
        return resp

    def getRoleIcons(self):
        data = requests.get(f"{self.url}/items/roleIcons", headers=self.headers).json()
        resp = _getRoleIconObjects(icons=data)
        return resp

    def getRoleRoleIcons(self):
        roles = self.getRoles()
        icons = self.getRoleIcons()
        mapping = _mapRoleRoleIcons(roles=roles, icons=icons)
        return mapping

    def getEmojis(self):
        emojis = requests.get(f"{self.url}/items/emojis", headers=self.headers).json()
        resp = _getEmojiObjects(emojis=emojis)
        return resp

    def getEmojiCollections(self):
        emojis = requests.get(
            f"{self.url}/items/emojiCollections", headers=self.headers
        ).json()
        resp = _getEmojiCollectionObjects(emojis=emojis)
        return resp

    def getEmojiAsCollections(self):
        emojis = self.getEmojis()
        collections = self.getEmojiCollections()
        mapping = _mapEmojiCollections(emojis=emojis, collections=collections)
        return mapping
    

    def getScreens(self):
        screens = requests.get(
            f"{self.url}/items/loadingScreens", headers=self.headers
        ).json()
        resp = _getScreenObjects(screens=screens)
        return resp

    def getItems(self):
        items = requests.get(
            f"{self.url}/items/avatarItems", headers=self.headers
        ).json()
        resp = _getAvatarObjects(items=items)
        return resp

    def getItemSets(self):
        itemSets = requests.get(
            f"{self.url}/items/avatarItemSets", headers=self.headers
        ).json()
        resp = _getAvatarItemSetObjects(items=itemSets)
        return resp
    
    def getItemAsSets(self):
        items = self.getItems()
        sets = self.getItemSets()
        mapping = _mapItemItemSets(sets=sets, items=items)
        return mapping

    def getProfileIcons(self):
        icons = requests.get(
            f"{self.url}/items/profileIcons", headers=self.headers
        ).json()
        resp = _getProfileIconObjects(profile_icons=icons)
        return resp