我已经尝试让它工作了大约一个小时,但我愚蠢的大脑无法弄清楚。基本上我想让我的机器人在有人说(前缀)名称(namechangeto)时设置它自己的昵称
@client.command(aliases=["nick", "name"])
async def nickname(ctx, name="Bot"):
user = guild.me()
await user.edit(nick=name)
感谢任何帮助
(也很抱歉格式不正确,我知道这段代码可能会让一些人畏缩,哈哈,对不起)
答案 0 :(得分:1)
对我来说,你的代码中的问题是你的变量 guild
没有定义,所以你必须使用 ctx.guild
来获得好的公会。除此之外,discord.Guild.me 不是一个函数(可以用 ()
调用)而是一个属性,你只需要使用 guild.me
。
所以你可以尝试制作:
user = ctx.guild.me
await user.edit(nick=name)
除此之外,这不是真正的问题,而是一个建议,您可以使用 async def nickname(ctx, *, name="Bot"):
而不是 async def nickname(ctx, name="Bot"):
来允许用户设置带有空格的昵称。
所以你对我的最终代码是:
@client.command(aliases=["nick", "name"])
async def nickname(ctx, *, name="Bot"):
user = ctx.guild.me
await user.edit(nick=name)
祝您有美好的一天!
巴蒂斯特