Abstract guild permissions value within discord.py Permissions

This commit is contained in:
thec0sm0s
2020-07-18 17:26:50 +05:30
parent 66b5ccc734
commit 5e99ed9af9
2 changed files with 12 additions and 4 deletions

View File

@@ -1,5 +1,7 @@
from .base import DiscordModelsBase from .base import DiscordModelsBase
from flask import current_app from flask import current_app
import discord
from .. import configs from .. import configs
@@ -25,8 +27,8 @@ class Guild(DiscordModelsBase):
Hash of guild's icon. Hash of guild's icon.
is_owner : bool is_owner : bool
Boolean determining if current user is owner of the guild or not. Boolean determining if current user is owner of the guild or not.
permissions_value : int permissions : discord.Permissions
An integer representing permissions of current user in the guild. 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.name = self._payload["name"]
self.icon_hash = self._payload.get("icon") self.icon_hash = self._payload.get("icon")
self.is_owner = self._payload.get("owner") 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): def __str__(self):
return self.name return self.name

View File

@@ -63,7 +63,7 @@ def me():
@app.route("/me/guilds/") @app.route("/me/guilds/")
def user_guilds(): def user_guilds():
guilds = discord.fetch_guilds() guilds = discord.fetch_guilds()
return "<br />".join([g.name for g in guilds]) return "<br />".join([f"[ADMIN] {g.name}" if g.permissions.administrator else g.name for g in guilds])
@app.route("/add_to/<int:guild_id>/") @app.route("/add_to/<int:guild_id>/")