DiscordPy 设置机器人昵称

时间:2021-03-02 14:59:36

标签: python python-3.x discord discord.py

我已经尝试让它工作了大约一个小时,但我愚蠢的大脑无法弄清楚。基本上我想让我的机器人在有人说(前缀)名称(namechangeto)时设置它自己的昵称

@client.command(aliases=["nick", "name"])

async def nickname(ctx, name="Bot"):

user = guild.me()

await user.edit(nick=name)

感谢任何帮助

(也很抱歉格式不正确,我知道这段代码可能会让一些人畏缩,哈哈,对不起)

1 个答案:

答案 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)

祝您有美好的一天!

巴蒂斯特