python-3.x - 我将如何制作一个在使用时更改用户昵称的命令?(discord.py 重写)
问题描述
我正在尝试为我的机器人创建一个命令,允许用户更改他们的昵称。我已经尝试过此处所述的答案,但出现“未定义客户端”错误,当我在文件本身中重新定义时,它返回“客户端没有“更改昵称”成员”错误。预期的用途应该是这样t!callme Jack
的,使用该t!callme
命令的用户将他们的昵称设置为“Jack”。有谁知道我该怎么做?
解决方案
现在,如果您想更改消息昵称的作者,那么您所要做的就是添加以下内容:
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()
推荐阅读
- c++ - C++ 可变参数模板空参数特化
- python - 从python中的模块导入__main__
- python - python更新列表中字典的每个键值
- php - Jquery datatable Invalid Argument exception - 消息 - Laravel eloquent raw query 上的尾随数据
- android - 安装STF,没有那个文件或目录,uv_chdir
- lua - Lua获取该函数附加到的表
- python - LSTM 的贝叶斯优化
- microsoft-graph-api - 使用 Microsoft Graph 将文件上传到 onedrive,遇到问题“UnknownErorr”无法检索用户的 mysite URL
- javascript - 多个项目的角度自定义过滤器不返回任何数据
- reflection - System.InvalidCastException:尝试在 F# 中使用反射时指定的强制转换无效