首页 > 解决方案 > 我将如何制作一个在使用时更改用户昵称的命令?(discord.py 重写)

问题描述

我正在尝试为我的机器人创建一个命令,允许用户更改他们的昵称。我已经尝试过此处所述的答案,但出现“未定义客户端”错误,当我在文件本身中重新定义时,它返回“客户端没有“更改昵称”成员”错误。预期的用途应该是这样t!callme Jack的,使用该t!callme命令的用户将他们的昵称设置为“Jack”。有谁知道我该怎么做?

标签: python-3.xdiscord.py-rewrite

解决方案


现在,如果您想更改消息昵称的作者,那么您所要做的就是添加以下内容:

member = ctx.message.author
await member.edit(nick="whatever your heart desires")

member 设置为消息的作者,然后我们告诉机器人消息的作者(或“成员”)会将他们的昵称更改为“随心所欲”。确保机器人具有管理昵称的权限,否则此命令将不起作用,它会给您一个“403 FORBIDDEN”错误。

它应该看起来类似于我在下面提供的内容:

@bot.command()
async def callme(ctx):
    member = ctx.message.author
    await member.edit(nick='Nickname wanted')

    #This line is used just to keep chat nice and tidy :)
    await ctx.message.delete()

推荐阅读