Newer
Older
screenshot-server / README.md

Screenshot Server with Telegram Bot

Spring Boot сервер для хранения скриншотов с Telegram ботом для доступа.

Возможности

  • 📤 REST API для загрузки скриншотов
  • 🤖 Telegram бот для скачивания скриншотов
  • 📅 Выбор даты и периода времени
  • 📦 Автоматическое разбиение на ZIP архивы
  • 🔐 Ограничение доступа по chat_id
  • 🐳 Docker поддержка

Быстрый старт

1. Создание Telegram бота

  1. Найдите @BotFather в Telegram
  2. Отправьте /newbot
  3. Следуйте инструкциям и сохраните токен

2. Получение chat_id

  1. Найдите @userinfobot в Telegram
  2. Он покажет ваш chat_id

3. Настройка

Создайте файл .env:

TELEGRAM_BOT_TOKEN=your_bot_token_here
TELEGRAM_BOT_USERNAME=YourBotName
TELEGRAM_ALLOWED_CHAT_IDS=123456789,987654321

4. Запуск с Docker

# Сборка
./gradlew bootJar

# Запуск через docker-compose
docker-compose up -d

5. Запуск без Docker

export TELEGRAM_BOT_TOKEN=your_token
export TELEGRAM_ALLOWED_CHAT_IDS=your_chat_id

./gradlew bootRun

API Endpoints

Метод URL Описание
POST /api/upload Загрузка файла
POST /api/upload/multiple Загрузка нескольких файлов
GET /api/health Проверка здоровья
GET /api/storage/info Информация о хранилище

Команды бота

  • /start - Приветствие и описание
  • /dates - Список доступных дат
  • /download - Скачать скриншоты (интерактивный выбор)
  • /status - Статус хранилища
  • /help - Помощь

Docker Hub

# Сборка и публикация
docker build -t yourusername/screenshot-server:latest .
docker push yourusername/screenshot-server:latest

# Запуск из Docker Hub
docker run -d \
  -p 8080:8080 \
  -e TELEGRAM_BOT_TOKEN=your_token \
  -e TELEGRAM_ALLOWED_CHAT_IDS=your_chat_id \
  -v screenshot-data:/data/uploads \
  yourusername/screenshot-server:latest

Переменные окружения

Переменная Описание По умолчанию
TELEGRAM_BOT_TOKEN Токен бота -
TELEGRAM_BOT_USERNAME Имя бота ScreenshotStorageBot
TELEGRAM_ALLOWED_CHAT_IDS Разрешённые chat_id (все)

Структура хранилища

/data/uploads/
├── 2025-12-15/
│   ├── screenshot_10-00-00_abc123.png
│   └── screenshot_10-01-00_def456.png
├── 2025-12-16/
│   └── ...