如何解决为什么我得到 discord.py AttributeError: 'str' object has no attribute 'trigger_typing'
我不明白为什么我会收到这个错误。代码中的所有内容对我来说都很好。也许是因为转换器不工作,但我的其他命令工作正常。
async def ship(self,ctx: commands.Context,user1: discord.Member = None,user2: discord.Member = None):
if user1 is None or user2 is None:
await ctx.send(embed=discord.Embed(
description=f"please mention two persons or provide two image urls! try: `{self.GetPrefix(ctx)}ship @person1 @person2` or `{self.GetPrefix(ctx)}ship [img url1] [img url2]`",color=self.randomcolor()))
else:
await ctx.trigger_typing()
r1 = requests.get(user1.avatar_url)
with open("images/ship_avatar1.png","wb") as f1:
f1.write(r1.content)
r2 = requests.get(user2.avatar_url)
with open("images/ship_avatar2.png","wb") as f2:
f2.write(r2.content)
await self.ship("images/ship_avatar1.png","images/ship_avatar2.png","images/ship.png")
embed = discord.Embed()
embed.set_image(url="attachment://ship.png")
file = discord.File("images/ship.png","ship.png")
await ctx.send(embed=embed,file=file)
我得到的错误是:
Ignoring exception in on_command_error
Traceback (most recent call last):
File "/opt/virtualenvs/python3/lib/python3.8/site-packages/discord/ext/commands/core.py",line 85,in wrapped
ret = await coro(*args,**kwargs)
File "/home/runner/Mob/cogs/fun.py",line 397,in ship
await self.ship("images/ship_avatar1.png","images/ship.png")
File "/opt/virtualenvs/python3/lib/python3.8/site-packages/discord/ext/commands/core.py",line 372,in __call__
return await self.callback(self.cog,*args,line 387,in ship
await ctx.trigger_typing()
AttributeError: 'str' object has no attribute 'trigger_typing'
解决方法
我假设这个函数不在一个类中。因此,self 值变成了一个 Context 类,而 ctx 值变成了一个参数。您得到的错误是“AttributeError: 'str' object has no attribute 'trigger_typing'”,这意味着 str 对象无权访问函数 trigger_typing
。从异步函数中删除 self 值将是一个快速修复。
不是命令的“ship”函数已经在“ship”命令函数中调用的同一个类中定义。重命名函数解决了问题。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。