Где и как можно хранить информацию пользователей которые записались через telegram бота
Пишу бота для салона красоты в учебных целях. Пытаюсь реализовать запись к парикмахеру,но не знаю где и как проверять эти данные.
Пользователь нажимает на кнопку записаться, ему предлагается выбрать день далее время.
Но как хранить эти данные и проверят что бы пользователи не записывались на одно и тоже время.
Как мне сделать проверку времени и даты которое уже занято и что бы бот показывал только свободные временные отметки и даты.
Я думаю что для этого надо как то хранить эти записи но где и как правильно и лучше будет не знаю. Подскажите в какую сторону смотреть .
Ответы (2 шт):
Прикрути SQL. Вот пример моего кода на JS. Пользователь добавляется в БД при нажатии кнопки /start. Тебе понадобиться две таблицы. Для юзеров с внешним ключом и вторая для даты записи. Можно и в одну затолкать но это не совсем правильно.
const user = require('../login')
const { Client } = require('pg')
const client = new Client({
port: user.db.port,
user: user.db.user,
host: user.db.host,
database: user.db.database,
password: user.db.password
})
client.connect()
async function insertPerson(from){
const values = [from.id,from.first_name,from.username]
const query_insert = `INSERT INTO person (id,first_name,username)
VALUES ($1,$2,$3)`
client
.query(query_insert,values)
.then(res=> {
console.log(res.rows[0])
})
.catch(e => console.error(e.stack))
}
Код может быть любой. Главное - это хранить всю информацию в базе данных. Бот - будет обращаться к информации в ней, чтобы выбрать именно свободное для записи время. Например, Firebird - бесплатная СУБД.