Задать вопрос
@Moskaa

Какую базу данных нужно использовать для телеграмм бота?

Я создаю телеграмм-бота на python telebot с помощью базы данных Sqlite, направленный на покупку определённых товаров и я в этом новичок.
В самом боте уже есть корзина, которая отлично работает. Но есть очень важный нюанс.
Когда в первый раз запускаешь программу, то корзина работает без ошибок, то есть при добавления товара в корзину, этот же товар добавляется в базу данных, с удалением ситуация тоже правильная.
А вот на второй раз возникает проблема. Когда данные о пользователях сохраняются в БД, то при добавление товаров в корзину и удаление товаров из корзины, программа как бы делает корзину одного пользователя доступный для другого, и возникает такая ситуация: если у первого пользователя в корзине есть Товар 1 и Товар 2, и если у второго пользователя в корзине Товар 3, то первый пользователь получит возможность удалить Товар 3.
И я бы хотел узнать, может быть это как-то связано с базой данной, которую я использую?
  • Вопрос задан
  • 4694 просмотра
Подписаться 1 Простой 7 комментариев
Решения вопроса 3
@jester-wizard
С базой данных, как конкретным программным обеспечением, это не связано. Использовать можно любую реляционную базу. Проблема с кодом и, возможно, с тем как именно вы спроектировали вашу базу.
Ответ написан
Mi11er
@Mi11er
A human...
Никак =)
Ответ написан
VoidVolker
@VoidVolker
Dark side eye. А у нас печеньки! А у вас?
Использовать можно любую БД. То, что у вас проблема с корзиной товаров разных пользователей - это ошибка в логике вашего кода. Берёте бумажку, ручку и рисуете нужный алгоритм работы, прорабатываете его, делаете декомпозицию до самых простых элементов и исправляете в вашем приложении.
Ответ написан
Пригласить эксперта
Ответы на вопрос 6
Видимо вы при выборке товаров в корзине не проверяете, к какому пользователю оно относится, либо вы вообще не предусмотрели колонку для этого.

Это проблема при проектировании модели данных и заменой sqlite на что-то другое это не исправить.
Ответ написан
Комментировать
@basili4-1982
С БД не связано, связано с логикой работы приложения. следует сохранять не только данные в корзину но и ID пользователя. и давать управлять только данными этого пользователя.
Ответ написан
@setupx
Go & TS developer
Это не связано с базой данных, у вас проблема в том, что вы не реализовали состояние FSM, прочтите про него
Ответ написан
@outcry69
Почитай какие бывают связи (отношения) между таблицами в реляционных базах и подумай как тебе связать корзину, пользователя и товары. Наверняка можно нагуглить и готовые схемы-примеры.
Ответ написан
@Devastator82
Если Вам нужно решить проблему здесь и сейчас - Вы можете использовать ИИ. Отправляете код целиком в ChatGPT (нужен vpn для работы) или в DeepSeek. И описываете ему проблему так же как описали нам. После чего просите исправить код с пояснениями где исправлено и почему
Ответ написан
Комментировать
@zeplin090
Могу посоветовать создать таблицу в бд
users и хранить в столбцах юзер айди, юзернейм, джейсун (список) корзины, баланс и тд
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы