diff --git a/flask_discord/models/base.py b/flask_discord/models/base.py index c40689e..58b0e7a 100644 --- a/flask_discord/models/base.py +++ b/flask_discord/models/base.py @@ -1,8 +1,17 @@ +from flask import current_app from abc import ABC class DiscordModelsBase(ABC): + @staticmethod + def _request(*args, **kwargs): + """A shorthand to :py:func:flask_discord.request`. It uses Flask current_app local proxy to get the + Flask-Discord client. + + """ + return current_app.discord.request(*args, **kwargs) + def to_json(self): """A utility method which returns raw payload object as it was received from discord. diff --git a/flask_discord/models/user.py b/flask_discord/models/user.py index a35a87c..c09d8ba 100644 --- a/flask_discord/models/user.py +++ b/flask_discord/models/user.py @@ -92,7 +92,7 @@ class User(DiscordModelsBase): """ data = {"access_token": session["DISCORD_OAUTH2_TOKEN"]["access_token"]} headers = {"Authorization": f"Bot {current_app.config['DISCORD_BOT_TOKEN']}"} - return current_app.discord.request( + return self._request( f"/guilds/{guild_id}/members/{self.id}", method="PUT", oauth=False, json=data, headers=headers ) or dict()