Задать вопрос
@srgvac
Разработчик любитель

В чем суть ошибки TypeError?

Привет!
Запустил скрипт через два дня,после того,как сделал(все работало)
Щас такая ошибка
2020-11-11 08:44:11,798 (util.py:66 WorkerThread1) ERROR - TeleBot: "TypeError occurred, args=("'NoneType' object is not callable",)
Traceback (most recent call last):
  File "C:\Users\fyodo\AppData\Local\Programs\Python\Python38-32\lib\site-packages\telebot\util.py", line 60, in run
    task(*args, **kwargs)
TypeError: 'NoneType' object is not callable
"
2020-11-11 08:44:11,798 - TeleBot - ERROR - TypeError occurred, args=("'NoneType' object is not callable",)
Traceback (most recent call last):
  File "C:\Users\fyodo\AppData\Local\Programs\Python\Python38-32\lib\site-packages\telebot\util.py", line 60, in run
    task(*args, **kwargs)
TypeError: 'NoneType' object is not callable

Traceback (most recent call last):
  File "casino_bot.py", line 480, in <module>
    bot.polling(none_stop=True)
  File "C:\Users\fyodo\AppData\Local\Programs\Python\Python38-32\lib\site-packages\telebot\__init__.py", line 392, in polling
    self.__threaded_polling(none_stop, interval, timeout)
  File "C:\Users\fyodo\AppData\Local\Programs\Python\Python38-32\lib\site-packages\telebot\__init__.py", line 416, in __threaded_polling
    self.worker_pool.raise_exceptions()
  File "C:\Users\fyodo\AppData\Local\Programs\Python\Python38-32\lib\site-packages\telebot\util.py", line 109, in raise_exceptions
    six.reraise(self.exc_info[0], self.exc_info[1], self.exc_info[2])
  File "C:\Users\fyodo\AppData\Local\Programs\Python\Python38-32\lib\site-packages\six.py", line 703, in reraise
    raise value
  File "C:\Users\fyodo\AppData\Local\Programs\Python\Python38-32\lib\site-packages\telebot\util.py", line 60, in run
    task(*args, **kwargs)
TypeError: 'NoneType' object is not callable


Скорее всего ошибка тут
def coll(message):
    try:
        coll = message.text
        c = int(coll)
        con = sqlite3.connect("dannie_2.db")
        cur = con.cursor()
        cur.execute(f"SELECT id, name, balance FROM users")
        users = cur.fetchall()
        b = 1
        while b <= c:
            con = sqlite3.connect("dannie_2.db")
            cur = con.cursor()
            cur.execute(f"SELECT id, name, balance FROM users")
            users = cur.fetchall() 
            a = str(users[-b])     
            message(message.chat.id,text=a)
            b = b+1  
        bot.send_message(message.chat.id, "Введите id человека, которому Вы хотите изменить баланс",
                             reply_markup=nazad_admin())
        bot.register_next_step_handler(message, chan_balance)        
    except ValueError:
        bot.send_message(chat_id=message.chat.id,text="Не число")
  • Вопрос задан
  • 303 просмотра
Подписаться 1 Простой 2 комментария
Решения вопроса 2
@bbkmzzzz
Суть ошибки в не подходящих типах, например:
x = '1'
y = 2
z = x + y  # нельзя сложить число и строку

Traceback (most recent call last):
  File "main.py", line 3, in <module>
    z = x + y
TypeError: can only concatenate str (not "int") to str

в вашем случае TypeError: 'NoneType' object is not callable означает, что ваш объек - None, а есть попытка вызвать его, что невозможно.
Проверяйте, что там за данные, сломалось, и в результате None.
Ответ написан
Комментировать
phaggi
@phaggi Куратор тега Python
лужу, паяю, ЭВМы починяю
Суть ошибки в том, что где-то какой-то объект, наличие которого подразумевал автор кода, отсутствует, и функция или метод возвращает тип None. А другая функция или метод не умеют работать с None, а проверки с обработкой такой ситуации автором кода не предусмотрено.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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