diff --git a/flask_discord/models/guild.py b/flask_discord/models/guild.py
index 2ba5b21..0885550 100644
--- a/flask_discord/models/guild.py
+++ b/flask_discord/models/guild.py
@@ -1,5 +1,7 @@
from .base import DiscordModelsBase
from flask import current_app
+
+import discord
from .. import configs
@@ -25,8 +27,8 @@ class Guild(DiscordModelsBase):
Hash of guild's icon.
is_owner : bool
Boolean determining if current user is owner of the guild or not.
- permissions_value : int
- An integer representing permissions of current user in the guild.
+ permissions : discord.Permissions
+ An instance of discord.Permissions representing permissions of current user in the guild.
"""
@@ -39,7 +41,13 @@ class Guild(DiscordModelsBase):
self.name = self._payload["name"]
self.icon_hash = self._payload.get("icon")
self.is_owner = self._payload.get("owner")
- self.permissions_value = self._payload.get("permissions")
+ self.permissions = self.__get_permissions(self._payload.get("permissions"))
+
+ @staticmethod
+ def __get_permissions(permissions_value):
+ if permissions_value is None:
+ return
+ return discord.Permissions(int(permissions_value))
def __str__(self):
return self.name
diff --git a/tests/test_app.py b/tests/test_app.py
index 8bb20a8..aceef78 100644
--- a/tests/test_app.py
+++ b/tests/test_app.py
@@ -63,7 +63,7 @@ def me():
@app.route("/me/guilds/")
def user_guilds():
guilds = discord.fetch_guilds()
- return "
".join([g.name for g in guilds])
+ return "
".join([f"[ADMIN] {g.name}" if g.permissions.administrator else g.name for g in guilds])
@app.route("/add_to//")