Spring АйО Bot - это Telegram бот, разработанный на Spring Boot, который предоставляет различные функции, включая взаимодействие с экспертами, генерацию фактов и ответов на вопросы с использованием ИИ.
Процесс создания бота полностью продемонстрирован в серии видео:
- Продвинутый Telegram-бот на Java/Spring для Spring АйО. Часть 1: Архитектура и первая рабочая версия

- Coming soon...

- Coming soon...

- Старт: Приветственное сообщение и инициализация сессии пользователя.
- Эксперты: Просмотр списка доступных экспертов.
- Задать вопрос эксперту: Возможность задать вопрос выбранному эксперту.
- Спросить: Генерация ответа на вопрос с использованием ИИ.
- Факт: Генерация интересного факта.
- Язык: Изменение языка интерфейса (русский/английский).
- О боте: Информация о боте.
- Java 24
- Spring Boot 3.5.6
- Telegram Bots API
- PostgreSQL
- Liquibase для миграций базы данных
- Spring AI для интеграции с OpenAI
- Docker для контейнеризации
- Java 24
- PostgreSQL
- Docker (опционально для запуска в контейнерах)
-
Клонируйте репозиторий:
git clone <url-репозитория> cd spring-bot
-
Настройте переменные окружения. Создайте файл
secret.envв корне проекта со следующим содержимым:BOT_TOKEN=ваш_telegram_bot_token POSTGRES_HOST=localhost POSTGRES_DB=telegram-bot POSTGRES_USER=root POSTGRES_PASSWORD=root OPENAI_API_KEY=ваш_openai_api_key AI_OPENAI_BASE_URL=https://openrouter.ai/api AI_OPENAI_CHAT_OPTIONS_MODEL=x-ai/grok-4-fast -
Запустите PostgreSQL базу данных.
-
Соберите и запустите приложение:
./gradlew build ./gradlew bootRun
-
Клонируйте репозиторий и настройте
secret.envкак описано выше. -
Запустите сервисы с помощью Docker Compose:
docker-compose up --build
Приложение будет доступно на порту 8080, а бот начнет работать в Telegram.
src/main/java/io/amplicode/springbot/- Исходный код приложенияbot/- Логика Telegram ботаcommands/- Обработчики командconfig/- Конфигурацияmodel/- Модели данныхservice/- Сервисы
rest/- REST контроллеры
src/main/resources/- Ресурсыdb/changelog/- Миграции Liquibaseapplication.properties- Конфигурация приложенияmessages_*.properties- Локализованные сообщения
Основные настройки в application.properties:
bot.token- Токен Telegram ботаspring.datasource.*- Настройки базы данныхspring.ai.openai.*- Настройки OpenAI API
Для разработки используйте IDE с поддержкой Java и Spring Boot. Запуск тестов:
./gradlew test