Где и как можно хранить информацию пользователей которые записались через 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))
}
→ Ссылка
Автор решения: USU Software

Код может быть любой. Главное - это хранить всю информацию в базе данных. Бот - будет обращаться к информации в ней, чтобы выбрать именно свободное для записи время. Например, Firebird - бесплатная СУБД.

→ Ссылка