Я получаю сообщение об ошибке при попытке запустить команду, в которой говорится: «ctx является обязательным аргументом, который отсутствует». [Python, discord.py ]

#python #discord #bots #discord.py-rewrite

#python #Discord #боты #discord.py

Вопрос:

Привет, я получаю эту ошибку при попытке запустить команду:

Игнорирование исключения в команде приветствуют discord.ext.commands.errors.MissingRequiredArgument: ctx является обязательным аргументом, который отсутствует

И когда я пытаюсь вручную передать контекст с помощью pass_context = True (я знаю, что это устарело, я думаю), он выдает: AttributeError: объект ‘Context’ не имеет атрибута ‘send’

Я искал везде на разных форумах и нашел другие с той же проблемой, но ответы всегда были специфичны для проблемы этого пользователя и поэтому были бесполезны для меня или были устаревшими, не используя перезапись. Я был бы очень признателен, если бы кто-нибудь мог помочь.

Кто-нибудь знает, почему я получаю это и как я мог бы это исправить?

Вот то, что я считаю полезной частью кода:

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

Вот полный код:https://pastebin.com/fQc4vE7F

Редактировать: я использую discord версии 1.4.1 на случай, если это может быть полезно

Комментарии:

1. вы импортировали discord и discord.ext?

2. Вы уверены, что используете именно эту версию? Это поведение, которое я ожидал бы от гораздо более старого discord.py версия. Попробуйте добавить print(f'discord version: {discord.__version__}') после импорта и посмотрите, что он говорит.

3. @PatrickHaugh Спасибо за вашу помощь, но там говорится, что я на версии 1.4.1…

4. @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, которая у вас уже есть. Я надеюсь, что смогу помочь кому-либо еще с подобной проблемой, поскольку я не смог найти решений в Интернете, но я надеюсь, что смогу это изменить.