didier/didier/utils/discord/assets.py

21 lines
645 B
Python
Raw Normal View History

2022-08-30 01:55:40 +02:00
from typing import Union
import discord
from discord.ext import commands
2022-09-22 01:11:24 +02:00
__all__ = ["get_author_avatar", "get_user_avatar"]
2022-08-30 01:55:40 +02:00
2022-09-22 01:11:24 +02:00
def get_user_avatar(user: Union[discord.User, discord.Member]) -> discord.Asset:
2022-08-30 01:55:40 +02:00
"""Get a user's avatar asset"""
2022-09-22 01:11:24 +02:00
if isinstance(user, discord.Member):
return user.display_avatar or user.default_avatar
return user.avatar or user.default_avatar
def get_author_avatar(ctx: Union[commands.Context, discord.Interaction]) -> discord.Asset:
"""Get the avatar asset of a command author"""
2022-08-30 01:55:40 +02:00
author = ctx.author if isinstance(ctx, commands.Context) else ctx.user
2022-09-22 01:11:24 +02:00
return get_user_avatar(author)