Discord.errors.ApplicationCommandInvokeError: команда приложения вызвала исключение: TypeError: неподдерживаемые типы операндов для +: 'int и NoneType

Я кодировал систему налогового калькулятора, и когда я использую функцию, она выдает ошибку: discord.errors.ApplicationCommandInvokeError: Application Command raised an exception: TypeError: unsupported operand type(s) for +: 'int' and 'NoneType', я пробовал все, но это не сработало. Вот функция (налоговый калькулятор):

async def tax(args):
  args3 = 5
  protax= round(int(args)*args3/100)
  if protax == 0:
    protax = 1

И вот где я это назвал:

c.execute("SELECT price FROM netflix")
    netfprice = c.fetchall()
    netprice = netfprice[0][0]
    netprix = await tax(netprice*amount)
    embed = discord.Embed(
      title="transfer system",
      description=f"Please transfer:{netprice + netprix}"
    )

полная трассировка:

Ignoring exception in command buy:
Traceback (most recent call last):
  File "C:\Users\sidal\AppData\Local\Programs\Python\Python310\lib\site-packages\discord\commands\core.py", line 127, in wrapped
    ret = await coro(arg)
  File "C:\Users\sidal\AppData\Local\Programs\Python\Python310\lib\site-packages\discord\commands\core.py", line 911, in _invoke
    await self.callback(ctx, **kwargs)
  File "c:\Users\sidal\Desktop\Sidtho\main.py", line 227, in buy
    description=f"Please transfer:{netprice + netprix}"
TypeError: unsupported operand type(s) for +: 'int' and 'NoneType'

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "C:\Users\sidal\AppData\Local\Programs\Python\Python310\lib\site-packages\discord\bot.py", line 1008, in invoke_application_command
    await ctx.command.invoke(ctx)
  File "C:\Users\sidal\AppData\Local\Programs\Python\Python310\lib\site-packages\discord\commands\core.py", line 359, in invoke
    await injected(ctx)
  File "C:\Users\sidal\AppData\Local\Programs\Python\Python310\lib\site-packages\discord\commands\core.py", line 135, in wrapped
    raise ApplicationCommandInvokeError(exc) from exc
discord.errors.ApplicationCommandInvokeError: Application Command raised an exception: TypeError: unsupported operand type(s) for +: 'int' and 'NoneType'
14 Задание: Типы данных и структуры данных Python для DevOps
14 Задание: Типы данных и структуры данных Python для DevOps
проверить тип данных используемой переменной, мы можем просто написать: your_variable=100
Python PyPDF2 - запись метаданных PDF
Python PyPDF2 - запись метаданных PDF
Python скрипт, который будет записывать метаданные в PDF файл, для этого мы будем использовать PDF ридер из библиотеки PyPDF2 . PyPDF2 - это...
Переменные, типы данных и операторы в Python
Переменные, типы данных и операторы в Python
В Python переменные используются как место для хранения значений. Пример переменной формы:
Почему Python - идеальный выбор для проекта AI и ML
Почему Python - идеальный выбор для проекта AI и ML
Блог, которым поделился Harikrishna Kundariya в нашем сообществе Developer Nation Community.
Как автоматически добавлять котировки в заголовки запросов с помощью PyCharm
Как автоматически добавлять котировки в заголовки запросов с помощью PyCharm
Как автоматически добавлять котировки в заголовки запросов с помощью PyCharm
Анализ продукта магазина на Tokopedia
Анализ продукта магазина на Tokopedia
Tokopedia - это место, где продавцы могут продавать свои товары. Товар должен быть размещен на витрине, чтобы покупателям было легче найти товар...
0
0
59
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Ваша функция tax() ничего не возвращает, поэтому по умолчанию она возвращает None.

Я полагаю, вы хотите отправить переменную protax. Если это так, этот код должен работать:

async def tax(args):
  args3 = 5
  protax= round(int(args)*args3/100)
  if protax == 0:
    protax = 1
  return protax

Я совсем остолбенел, увидев свою ошибку. Спасибо, Это сработало!

SIDAL 19.11.2022 18:35

Другие вопросы по теме