Sqlite3, Telebot, Python. Не сохраняются введенные значения пользователя в базу данных
пишу Телеграмм Бота с подключенной базой данных. Подключил sqlite3, создал таблицу, бот проводит опрос пользователя 1 - Как обращаться 2 - Какая у него проблема 3 - Оставить контактные данные. Опрос работает и проходит безупречно, однако в таблицы по переменным его данные не сохраняются. Определил reg_name - имя пользователя; reg_problema - какой у него вопрос; reg_contact - контактные данные. Не могу разобраться как работает INSERT с моими переменными, или переменные не корректно указаны. Помогите разобраться, сам пробовал различные варианты, ни один не работает. Ниже код:
import telebot
import sqlite3
from typing import Text
from telebot import types
#bot
bot = telebot.TeleBot("")
connect = sqlite3.connect('------.db', check_same_thread=False)
cursor = connect.cursor()
def db_table_val(user_id: int, reg_name: str, reg_problema: str, reg_contact: str):
cursor.execute('INSERT INTO client_base(user_id, reg_name, reg_problema, reg_contact) VALUES (?, ?, ?, ?)', (user_id, reg_name, reg_problema, reg_contact))
connect.commit()
@bot.message_handler(commands=['start'])
def start(message):
bot.send_message(message.from_user.id, 'Приветствую! Как можно к вам обращаться ?')
bot.register_next_step_handler(message, reg_name)
def reg_name(message):
global name
name = message.text
bot.send_message(message.from_user.id, 'Напишите ваш вопрос')
bot.register_next_step_handler(message, reg_problema)
def reg_problema(message):
global problema
problema = message.text
bot.send_message(message.from_user.id, 'Укажите Ваши контактные данные для связи, номер телефона или email')
bot.register_next_step_handler(message, reg_contact)
def reg_contact(message):
global contact
contact = message.text
bot.send_message(message.from_user.id, 'контакты записаны')
us_id = message.from_user.id
us_name = message.from_user.reg_name(str)
us_problema = message.from_user.reg_problema(str)
us_contact = message.from_user.reg_contact(str)
db_table_val(user_id=us_id, reg_name=us_name, reg_problema=us_problema, reg_contact=us_contact)
bot.polling()