首页 > 解决方案 > 尝试获取 url 结尾时出现 Discord Py AttributeError

问题描述

下面是我保存用户 pfp 的代码,我厌倦了它只保存为 png 所以我决定添加一个检查头像 URL 是否以 gif 结尾,但它只是抛出错误“'Asset' object has no属性'endswith'”我做错了什么?

@bot.command()
@commands.check(Owner)
async def avs(ctx, member: discord.Member = None):
    member = ctx.author if not member else member
    if member.avatar_url.endswith('.gif'):
        await member.avatar_url_as(format="gif").save(fp=f"{member}.gif")
        await ctx.send(f"Saved pfp of {member}")
    else:
        await member.avatar_url_as(format="png").save(fp=f"{member}.png")
        await ctx.send(f"Saved pfp of {member}")

标签: pythondiscord.py

解决方案


Member.avatar_url返回一个discord.Asset实例,您可以将其转换为字符串以获取资产的 URL。

if str(member.avatar_url).endswith('.gif'):

参考:


推荐阅读