Python 需要关于discord.py bot的建议吗
写我的第一个机器人。我正在尝试创建一个机器人,它将通过命令更改成员的用户名和角色 例子:!塞尼克[成员][纽尼克]!指定角色[成员][角色] 我的role命令工作得很好,但是我对更改昵称文档感到困惑 bot将运行,但当我在discord中输入命令时,它将返回以下错误:Python 需要关于discord.py bot的建议吗,python,python-3.x,xcode,discord,discord.py-rewrite,Python,Python 3.x,Xcode,Discord,Discord.py Rewrite,写我的第一个机器人。我正在尝试创建一个机器人,它将通过命令更改成员的用户名和角色 例子:!塞尼克[成员][纽尼克]!指定角色[成员][角色] 我的role命令工作得很好,但是我对更改昵称文档感到困惑 bot将运行,但当我在discord中输入命令时,它将返回以下错误: Ignoring exception in command setnick: Traceback (most recent call last): File "FILEPATH", line 79, in wrapped
Ignoring exception in command setnick:
Traceback (most recent call last):
File "FILEPATH", line 79, in wrapped
ret = await coro(*args, **kwargs)
File "FILEPATH", line 23, in setnick
await change_nickname(server.get_member, nickname)
NameError: name 'change_nickname' is not defined
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "FILEPATH", line 863, in invoke
await ctx.command.invoke(ctx)
File "FILEPATH", line 728, in invoke
await injected(*ctx.args, **ctx.kwargs)
File "FILEPATH", line 88, in wrapped
raise CommandInvokeError(exc) from exc
discord.ext.commands.errors.CommandInvokeError: Command raised an exception: NameError: name 'change_nickname' is not defined
提前谢谢
change\u昵称
是从类调用的函数,您可以参考文档,您会注意到该函数位于名为的类下。这意味着你不能无缘无故地调用
change\u昵称
例如,它类似于您的send(string)
方法。您不能无缘无故地调用它,您需要使用文本通道对象来调用它。因此,您之所以选择了
ctx.send()
而不是send()
您可能在登录bot时创建了一个客户端对象,yourObjectName=new client()
。找到它并使用它调用change\u昵称()
如下:
await yourObjectName.change_nickname(server.get_member, nickname)
可能有一个对象可以对其使用方法。当前您正在调用未定义的函数。也许有点像client.change_nick(*args)。我对这个API不太了解,但请阅读以下内容:首先,感谢您的回答和帮助。我前几天读到这篇文章,它要求更改作者的昵称。我很困惑如何让discord意识到我正试图改变一个不同的用户昵称。我会再看一眼,看看能不能修改一下。好吧,我现在明白了。谢谢
await yourObjectName.change_nickname(server.get_member, nickname)