尝试运行“ctx 是缺少的必需参数”的命令时收到错误消息。 [Python,discord.py]

Posted

技术标签:

【中文标题】尝试运行“ctx 是缺少的必需参数”的命令时收到错误消息。 [Python,discord.py]【英文标题】:Am receiving an error when trying to run a command saying 'ctx is a required argument that is missing'. [Python, discord.py] 【发布时间】:2020-12-16 13:47:59 【问题描述】:

您好,我在尝试运行命令时收到此错误:

忽略命令 greet discord.ext.commands.errors.MissingRequiredArgument 中的异常:ctx 是缺少的必需参数

当我尝试使用 pass_context=True 手动传递上下文时(我知道这已经过时了,我认为)它出现了: AttributeError:“上下文”对象没有属性“发送”

我在各种论坛上到处查看,发现其他人有同样的问题,但答案总是针对那个用户的问题,所以对我来说没用或已经过时,没有使用重写。如果有人可以提供帮助,我将不胜感激。

有谁知道我为什么会得到这个以及如何解决它?

这是我认为代码中有用的部分:

    @client.command()
    async def greet(ctx):
        await ctx.send("Hello")
   

这里是完整代码:https://pastebin.com/fQc4vE7F

编辑:我使用的是 discord 1.4.1 版以防万一

【问题讨论】:

你导入了discord和discord.ext吗? 您确定这是您正在运行的版本吗?这是我对更旧的 discord.py 版本所期望的行为。尝试在导入后添加print(f'discord version: discord.__version__') 看看它的内容。 @PatrickHaugh 谢谢你的帮助,但它说我的版本是 1.4.1... @LeoGaunt 我很确定我有。导入是指在代码中写入导入...您可以在 pastebin 链接上查看代码...但无论如何感谢您的帮助 【参考方案1】:

您应该尝试重新安装 discord.py,同时确保将以下内容放在顶部:

from discord.ext import commands
import discord

【讨论】:

【参考方案2】:

问题似乎出在我的 IDE 上。我在 repl 中运行了我的代码,它运行良好。 Repl 自动安装了所有模块。所以我认为问题可能是我在 pycharm 上运行的安装和导入相互冲突,或者我的 pycharm 版本已经过时,因为我已经有一段时间没有更新它了。 PyCharm 一直告诉我,我正在过时的版本有一些 pip 错误......

无论如何,如果其他人有类似的问题,我建议尝试在repl 或其他 IDE 中运行您的代码,因为在这种情况下,问题不是我的代码,而是设置。如果您在不同的 IDE 上遇到相同的问题,我建议您使用 repl,因为您不必在计算机上安装任何东西。 Repl 完全在云端,只会安装和导入必要的内容。你可能应该更新你已经拥有的 IDE。我希望我可以帮助其他有类似问题的人,因为我在网上找不到解决方案,但我希望我能改变这一点。

【讨论】:

以上是关于尝试运行“ctx 是缺少的必需参数”的命令时收到错误消息。 [Python,discord.py]的主要内容,如果未能解决你的问题,请参考以下文章

我如何在公司代理后面运行Deno

DCOM 在尝试激活服务器时从计算机 x.x.x.x 收到错误“2147942405”:

当我尝试在我的终端上运行代码时,我不断收到“ModuleNotFound”错误,即使我安装了它

尝试在本地运行 heroku 并收到错误“供应商”不是命令

尝试运行命令时创建 React App 错误 npx create react app: spawn UNKNOWN

尝试运行第二个命令时,在 bash 脚本中运行 AWS 服务会产生错误,我做错了吗?