Задать вопрос
@whgsf278290

Как исправить ошибку спам бота?

Короче, хочу пранкануть друга и немного ему "поспамить", но почему то PyCharm пишет ошибку.
Я знаю, скорее всего, это просто. Я просто беру весь код с инета :/

КОД:
import discord
from discord.ext import commands
client = discord.Client()
bot = commands.Bot(command_prefix='!')

@bot.command(pass_context=True)
async def spam(ctx, m):
    await ctx.message.delete() #удаляем сообщение пользователя, чтобы не спалился
    count = 0
    while count < int(m):
        await ctx.send('@here Crash!!! ||Это пранк.||') #отправка текста
        count += 1


bot.run('нету токена тут')


По сути, все должно работать, но...
Ошибка :(
C:\Users\Не важно как меня зовут!\PycharmProjects\pythonProject1\venv\Scripts\python.exe C:/Не важно как меня зовут!/PycharmProjects/pythonProject1/main.py
Ignoring exception in command spam:
Traceback (most recent call last):
  File "C:\Users\Не важно как меня зовут!\PycharmProjects\pythonProject1\venv\lib\site-packages\discord\ext\commands\bot.py", line 902, in invoke
    await ctx.command.invoke(ctx)
  File "C:\Users\Не важно как меня зовут!\PycharmProjects\pythonProject1\venv\lib\site-packages\discord\ext\commands\core.py", line 856, in invoke
    await self.prepare(ctx)
  File "C:\Users\Не важно как меня зовут!\PycharmProjects\pythonProject1\venv\lib\site-packages\discord\ext\commands\core.py", line 790, in prepare
    await self._parse_arguments(ctx)
  File "C:\Users\Не важно как меня зовут!\PycharmProjects\pythonProject1\venv\lib\site-packages\discord\ext\commands\core.py", line 697, in _parse_arguments
    transformed = await self.transform(ctx, param)
  File "C:\Users\Не важно как меня зовут!\PycharmProjects\pythonProject1\venv\lib\site-packages\discord\ext\commands\core.py", line 542, in transform
    raise MissingRequiredArgument(param)
discord.ext.commands.errors.MissingRequiredArgument: m is a required argument that is missing.


Я переводил на русский, и там что то типо с обязательным агрументом m, ну он вроде есть. Я хз, просто новичок я.
Как исправить? Подскажите, пж.
  • Вопрос задан
  • 396 просмотров
Подписаться 1 Простой 1 комментарий
Пригласить эксперта
Ответы на вопрос 2
Exception raised when parsing a command and a parameter that is required is not encountered

https://discordpy.readthedocs.io/en/stable/ext/com...

Вы не указали необходимый аргумент "m" при вызове команды, например, [p]spam выдаст данную ошибку, [p]spam 12 - не выдаст.

Если вы хотите сделать данный аргумент опциональным - присвойте ему стандартное значение, или добавьте аннотацию typing.Optional.
https://discordpy.readthedocs.io/en/stable/ext/com...

Так же советую использовать конвертеры.

Таким образом:
@bot.command()
async def cmd(ctx, m: int = 5):
    ...
Ответ написан
@GeneD88
QA
Поменяй async def spam(ctx, m) -> async def spam(ctx, *, m)

https://discordpy.readthedocs.io/en/rewrite/ext/co...
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы