def check_balance(self, user_id):
self.c.execute("SELECT balance FROM users WHERE user_id=?", (user_id,)).fetchone()[0]
TypeError: 'NoneType' object is not subscriptable
.fetchone()
вернул None, из которого вы, тем ни менее, пытаетесь получить нулевой элемент. Это наверное очень тупая ошибка