Здраствуйте, ошибка в коде где я добавляю в бд логин и пароль которые вводит сам пользователь потом в фунцкии вызываю метод вывода оценок из дневника и выводит такую ошибку
task(*args, **kwargs)
TypeError: reg() missing 2 required positional arguments: 'loginDb' and 'passwordDb'
Мой код:
from ast import Str
from cgitb import text
from datetime import date
from multiprocessing import AuthenticationError
from turtle import home
from dnevnikru import Dnevnik
from dnevnikru import exceptions as DnevnikError
from pprint import pprint
import sqlite3
import telebot
#sqlite
try:
sqlite_connection = sqlite3.connect('sqlite_python.db', check_same_thread=False)
cursor = sqlite_connection.cursor()
print("База данных создана и успешно подключена к SQLite")
sqlite_select_query = "select sqlite_version();"
cursor.execute(sqlite_select_query)
sqlite_connection.commit()
record = cursor.fetchall()
print("Версия базы данных SQLite: ", record)
except sqlite3.Error as error:
print("Ошибка при подключении к sqlite", error)
finally:
if (sqlite_connection):
sqlite_connection.commit()
print("Соединение с SQLite закрыто")
bot = telebot.TeleBot("5747148691:AAGo59KswgBCWNs3zmUwaTuPF1cPJnEa_6M")
bot.delete_webhook()
@bot.message_handler(commands=['start', 'go'])
def start_handler(message):
bot.send_message(message.chat.id, "Привет, отправь логин и пароль от дневник.ру")
bot.register_next_step_handler(message, auth)
def auth(message):
loginTg, passwordTg = message.text.split()
cursor.execute('INSERT INTO dn (login, password) VALUES (?, ?)', (loginTg, passwordTg))
sqlite_connection.commit()
print(loginTg, passwordTg)
reg(message, loginTg, passwordTg)
bot.register_next_step_handler(message, reg)
def reg(message, loginDb, passwordDb):
sqlite_select_query = """SELECT * from dn"""
cursor.execute(sqlite_select_query)
records = cursor.fetchall()
print("Всего строк: ", len(records))
print("Вывод каждой строки")
for row in records:
loginDb = row[0]
passwordDb = row[1]
print("Логин:", row[0])
print("Пароль:", row[1])
d = Dnevnik(login=loginDb, password=passwordDb)
print(d)
homeworksF(message, d)
def homeworksF(message, d):
if message.text == 'Дз':
pprint(d.marks())
bot.polling(non_stop=True)
Ошибка происходит в функции Reg() связана с двумя переменными loginDb passwordDb не знаю почему, скорее всего из-за того что py не видит просто этих переменных после регистрации. Пришлите готовые решения пожалуйста