@zxqb

Как правильно написать чатбота ВК?

Есть небольшой чат - питон 3.8 с базой MySQL, все это на pythonanywhere лежит
Суть - пользователь создает запрос в базу, на выходе получает ответ.
Проблема -запросы могут перепутаться.
В базе две таблицы. Первая - база клиентов с ИД и запросом(4 столбца всего), вторая - информация на вывод.
Запрос в базу состоит из трех параметров - день, место, вариант.
Пользователь выбирает день, место вариант - запрос пишется в три переменные и исходя из них в базе идет поиск ответа через SELECT
Так как эти переменные находятся в самом коде бота то выходит следующая ситуация:
П1 заходит в чат, выбирает день, место.. в это время П2 заходит, выбирает день.. П1 уже выбрал вариант, отправляет запрос - ошибка. Потому что П2 сбил переменную день..
Как это все должно быть устроено?

Вводимые данные пользователей забираю обработкой вводимой строки: ввел день - понедельник - в переменную Х записывается строка PN, допустим, и пишется в таблицу 1 в базе
  • Вопрос задан
  • 117 просмотров
Решения вопроса 1
HemulGM
@HemulGM
Delphi Developer, сис. админ
Проще конкретно для тебя, пусть пишут запрос в одну строку, например:
"день;место;вариант" =>
"26.05.2020;За школой;на кулаках"
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@StockholmSyndrome
вам придётся завести третью таблицу, таблицу состояний (или ещё одно поле в уже существующей таблице), состоящую из двух полей — id и state

например, когда пользователь начинает диалог с ботом, ему первым делом нужно выбрать день, записываем state=day
он отправляет сообщение, сверяем state, записываем в нужную таблицу выбранный день, меняем state на place и т.д.
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы