我要创建一个discordpy机器人,它可以检查用户的Tatsu机器人的服务器信用我使用Tatsu API来获取用户的信用,但它有问题是‘对象没有属性’信用‘’。当我使用avatar_url、avatar_hash时,它也会出现...这是Tatsu库:https://github.com/PumPum7/Tatsu.py
@commands.command()
async def transfer(self,ctx, member: discord.Member):
wrapper = ApiWrapper(key=os.environ['token'])
user_profile = await wrapper.get_profile(member.id)
await ctx.send(user_profile.credits)发布于 2021-08-12 09:51:22
我看了一下这个库的源代码(老实说,这真的很糟糕)。似乎当一个内部异常被抛出,而不是引发和传播它时,作者决定返回它(确切的行是here),我不知道作者想要做什么,尽管如此,你可以使用一个简单的if语句来检查方法是否没有返回错误:
@commands.command()
async def transfer(self,ctx, member: discord.Member):
wrapper = ApiWrapper(key=os.environ['token'])
user_profile = await wrapper.get_profile(member.id)
if not isinstance(user_profile, Exception):
await ctx.send(user_profile.credits)
else:
exc = user_profile
print(f"An error happened:\n{exc.__class__.__name__}: {exc}")https://stackoverflow.com/questions/68754773
复制相似问题