Я недавно начал изучение sqlite3, написал программку для регистрации ( код ниже ), с telebot знаком, опыт имелся в создание телеграм ботов.
Подскажите пожалуйста, как теперь связать код регистрации с ботом? Напишите пример кода.
Код:
import sqlite3
db = sqlite3.connect('server.db')
sql = db.cursor()
sql.execute("""CREATE TABLE IF NOT EXISTS users (
login TEXT,
password TEXT,
cash BIGINT
)""")
sql.execute(f"SELECT login FROM users WHERE login = '{user_login}'")
if sql.fetchone() is None:
sql.execute(f"INSERT INTO users VALUES (?, ?, ?)", (user_login, user_password, 0))
db.commit()
print('Регистрация прошла успешно!')
print('Ваш логин: ' + user_login)
print('Ваш пароль: ' + user_password)
else:
print('Такая запись уже имеется!')
for value in sql.execute("SELECT * FROM users"):
print('Аккаунт с логином: ' + user_login + ' уже существует, зарегестрируйте новый!')
С базой легче(и правильнее) работать примерно вот так
Внизу закоментирован пример того как он работает
А бот можете тоже создать сразу с легкой масштабируемостью вот так
И если есть необходимость задавать вопросы и ожидать ответа (введите логин, введите пароль), то вот пример того, как это реализовуется. Тут разжовуется
Ужас, а не код. Кто же класс работы с базой обвешивает print'ами? Такие вещи делают через logging. Плейсхолдеры не слышали, SQL-инъекций не боимся. Коммит делаем при удалении объекта, а если бот через неделю работы помрёт, мы что, потеряем все данные?..
shurshur, ужас, а не комментарий. А самое главное смешной. Если вы не заметили
работать примерно вот так
. Ключевое слово примерно
Кто же класс работы с базой обвешивает print'ами?
А кто на этом сайте воооообще вопросы задаёт? По моему мнению школьники. Кому нужна рабочая база тот читает мануал. И вставляет return try..except и тд
Плейсхолдеры не слышали, SQL-инъекций не боимся.
Те кто слышал и боится, на этом сайте вопросы не задают.
Блин ну что за бред вообще..Вы почитайте вопрос. Для ответа на него и одного курса видеоуроков хватит.
Данный код не для работы, а для демонстрации работы с базой через класс.
а если бот через неделю работы помрёт, мы что, потеряем все данные?..
Вот тут как бы и согласен... Но ещё раз повторюсь: данный код не для рабочего приложения...
Alexa2007, на этом сайте уж точно не надо обучать самым плохим практикам. Тут каждый день запросы через f-string показывают, приходится объяснять, что так делать нельзя.
shurshur, О! f-string круто! Перечитай вопрос. Сразу видно, что товарищ скопировал два листинга и просит их соединить. Знания python отсутствуют полностью. Так что сразу Лутца отправлять читать? По факту Да. Но я стараюсь не отталкивать людей от программирования полностью и сразу. Часто видно, что это дети. Душить в них энтузиазм толстыми книгами не хочется. А у многих в работе ситуация так сложилась, а программирование это не их(на фриланс не у всех есть средства, а вопрос легкий.. чего бы не помочь). Кто не захочет тот сам отойдёт. Но учитывая Вашу правоту в некоторых вопросах изменил код в ссылке. Спасибо за замечание.
Alexa2007, на этом сайте ответы пишут не только для того, чтобы их читали задающие вопрос, но и для посторонних зрителей, в том числе новичков, пришедших из гугла. Зачем им показывать всякие вредности? Да и с новичками тоже так не надо - пусть сразу знают, что они пытаются делать неправильно, и нам сами неправильные практики им тоже показывать не надо. А то потом жалуемся на кривой код, плохие програмы и тупые методы решения простейших задач. Каких программеров воспитываем, так и получаем.