AttributeError:“ str”对象没有属性“ mention”

时间:2019-12-14 00:41:52

标签: python discord discord.py

我想提到变量(保存用户名),这是我的代码

@bot.command(pass_context=True)
async def book(ctx,stage,low,high):
    channel = bot.get_channel(642826606858993707)
    author = '{0}'.format(ctx.message.author)
    await ctx.send(f'{author.mention}')

将会收到错误:AttributeError:“ str”对象没有属性“ mention”。

那我该如何解决?谢谢

1 个答案:

答案 0 :(得分:0)

我很快想摆脱一些问题,以稍微改善代码,

不再需要

pass_context,因为discord.py不再具有可重写和不可重写的版本。 documentation中将更详细地说明command

您在代码中同时使用了.formatf字符串。坚持一个会更容易理解。

您分配了可变通道,但似乎从未真正使用过它,除非您提交了一些代码。

关于错误, 要提及消息的作者,您将作者转换为字符串,因此为什么会出现此错误。要提及用户,您只需使用.send发送一条消息,然后使用.mention直接提及该用户。

async def book(ctx):
    await ctx.send(ctx.author.mention)

希望有帮助!