Телеграм бот сделанный для абстрактного "интернет магазина". Принимает отзывы и сообщение о проблемах о товарах, и сохраняет в бд postgres.
Имеется REST API для взаимодейстовия с данными, которые оставили пользователи.
Используется Telegram bot API для работы с телеграмом. Пример первоначальной настройки вы можете прочесть в
документации для java
Присутствуют команды для удобной работы 👇
Команды доступные пользователю:
/start- Начало работы/problem- Оставить проблему/feedback- оставить отзыв/mydata- Посмотреть ваши данные и все проблемы, отзывы/deletedata- Удалить ваши данные/info- Описание всех команд
В боте есть описание всех команд. Не переживайте 😊
Демонстрация работы команды /feedback:
feedback_up.mp4
Учтите, что только при первом использовании вас спросить имя и email. Они заносятся в базу и повторно спрашиваться не будут.
Spring(boot, data jpa, validation)Postgres(PGadmin)LombokSlf4j(логирование)Swagger(Описание API)Telegram-bot-apiMaven
При запущенном проекте, вы можете перейти на документацию API:
http://localhost:8084/swagger-ui/index.htmlВ ходе создания feedback и problem команд возникли сложности в сохранении данных в БД. При выполнении команд,
необходимо было присылать пользователю поочередные сообщения и ждать ответа, а после всех ответов заносить данные в БД.
Необходимо было сделать состояние бота:
Например, Пользователь вызывает команду /feedback (FEEDBACK состояние) -> спрашивается имя (FEEDBACK_NAME состояние) -> спрашивается email (FEEDBACK EMAIL состояние) и тд.
В проект добавлены Dockerfile и Docker-compose. Вы можете легко запустить проект в контейнере и опробовать его.
Для этого необходимо:
Упаковать проект вызвав в командной строке:
mvn package
И запустить контейнеры docker-compose:
$ docker-compose up -d
Либо просто запустить в среде разаботки.

