Windows 10
Python 3.8
pip telebot, sqlite3. последние версии
Приветствую. Создал бота в телеграмме, который поэтапно регистрирует пользователя. Первый этап - имя, второй - фамилия, третий - возраст. В базу данных во все столбцы заносит только возраст. Помогите с решением, буду благодарен.
Скриншоты: https://yapx.ru/v/QQgZD
Python 3.8
pip telebot, sqlite3. последние версии
Приветствую. Создал бота в телеграмме, который поэтапно регистрирует пользователя. Первый этап - имя, второй - фамилия, третий - возраст. В базу данных во все столбцы заносит только возраст. Помогите с решением, буду благодарен.
Скриншоты: https://yapx.ru/v/QQgZD
-
Python:
import sqlite3 from sqlite3 import Connection import telebot name = '' last_name = '' age = '' bot = telebot.TeleBot("токен", parse_mode=None) connect: Connection = sqlite3.connect('LastBD.db', check_same_thread=False) cursor = connect.cursor() cursor.execute(""" CREATE TABLE IF NOT EXISTS Login_id(user_id INTEGER PRIMARY KEY)""") connect.commit() cursor.execute(""" CREATE TABLE IF NOT EXISTS Info(Name TEXT)""") def db_table_val(user_id: int, user_name: str, user_age: str): cursor.execute('INSERT INTO Login_id (user_id, user_name, user_age) VALUES (?, ?, ?)', (user_id, user_name, user_age)) connect.commit() @bot.message_handler(commands=['start']) def start_message(message): bot.send_message(message.chat.id, 'Добро пожаловать. Введите: "Заполнить мои данные в таблицу вручную", дабы я поэтапно вас записал.\n Либо: "Заполнить мои данные в таблицу автоматически" ') @bot.message_handler(content_types=['text']) def get_text_messages(message): if message.text == 'Заполнить мои данные в таблицу автоматически': bot.send_message(message.chat.id, 'Введите ваше имя.') bot.register_next_step_handler(message, info_name) us_id = message.from_user.id us_name = message.from_user.first_name us_age = message.from_user.last_name db_table_val(user_id=us_id, user_name=us_name, user_age=us_age) #ручная регистрация if message.text == "Заполнить мои данные в таблицу вручную": bot.send_message(message.from_user.id, "Введи своё имя!") bot.register_next_step_handler(message, info_name) def db_table_val(Name: int, Last_Name: str, Age: str): cursor.execute('INSERT INTO Info (Name, Last_Name, Age) VALUES (?, ?, ?)', (Name, Last_Name, Age)) connect.commit() def info_name(message): global name name = message.text bot.send_message(message.from_user.id, "Прекрасное имя! Теперь введи свою фамилию!") bot.register_next_step_handler(message, info_last_name) def info_last_name(message): global lastname lastname = message.text bot.send_message(message.from_user.id, "Теперь введи свой возраст.") bot.register_next_step_handler(message, info_age) def info_age(message): global age age = message.text name = message.text lastname = message.text age = message.text db_table_val(Name=name, Last_Name=lastname, Age=age) connect.commit() bot.polling(none_stop=True)
Последнее редактирование: