尝试运行“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]的主要内容,如果未能解决你的问题,请参考以下文章
DCOM 在尝试激活服务器时从计算机 x.x.x.x 收到错误“2147942405”:
当我尝试在我的终端上运行代码时,我不断收到“ModuleNotFound”错误,即使我安装了它