Телеграм бот сделанный для абстрактного "интернет магазина". Принимает отзывы и сообщение о проблемах о товарах, и сохраняет в бд 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)Lombok
Slf4j
(логирование)Swagger
(Описание API)Telegram-bot-api
Maven
При запущенном проекте, вы можете перейти на документацию 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
Либо просто запустить в среде разаботки.