我想提到变量(保存用户名),这是我的代码
@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”。
那我该如何解决?谢谢
答案 0 :(得分:0)
我很快想摆脱一些问题,以稍微改善代码,
不再需要 pass_context
,因为discord.py不再具有可重写和不可重写的版本。 documentation中将更详细地说明command
。
您在代码中同时使用了.format
和f
字符串。坚持一个会更容易理解。
您分配了可变通道,但似乎从未真正使用过它,除非您提交了一些代码。
关于错误, 要提及消息的作者,您将作者转换为字符串,因此为什么会出现此错误。要提及用户,您只需使用.send发送一条消息,然后使用.mention直接提及该用户。
async def book(ctx):
await ctx.send(ctx.author.mention)
希望有帮助!