Release v1.1.0: Add Telegram and Todoist integrations UI
All checks were successful
Build and Push Docker Image / build-and-push (push) Successful in 57s

- Add telegram_integrations table to store bot token and chat_id
- Add Integrations tab with Todoist and Telegram integration screens
- Remove TELEGRAM_BOT_TOKEN and TELEGRAM_CHAT_ID from env variables
- All Telegram configuration now done through UI
- Telegram webhook registration happens when user saves bot token
- Rename TELEGRAM_WEBHOOK_BASE_URL to WEBHOOK_BASE_URL
This commit is contained in:
poignatov
2025-12-31 19:11:28 +03:00
parent 63af6bf4ed
commit 7398918bc0
20 changed files with 721 additions and 100 deletions

View File

@@ -38,10 +38,9 @@
**Примечание:** API запросы автоматически проксируются к бэкенду. В development режиме Vite проксирует запросы к `http://localhost:8080`. В production nginx проксирует запросы к бэкенд контейнеру. Не требуется настройка `VITE_API_BASE_URL`.
### Telegram Bot Configuration (опционально)
- `TELEGRAM_BOT_TOKEN` - токен бота от @BotFather
- `TELEGRAM_CHAT_ID` - ID чата для отправки сообщений
- `TELEGRAM_WEBHOOK_BASE_URL` - базовый URL для автоматической настройки webhook. Webhook будет настроен автоматически при старте сервера на `<TELEGRAM_WEBHOOK_BASE_URL>/webhook/telegram`. Если не указан, webhook нужно настраивать вручную.
### Telegram Bot Configuration
- `WEBHOOK_BASE_URL` - базовый URL для автоматической настройки webhook. Webhook будет настроен автоматически при сохранении bot token через UI на `<WEBHOOK_BASE_URL>/webhook/telegram`.
- Bot Token и Chat ID настраиваются через UI приложения в разделе "Интеграции" -> "Telegram"
**Примеры значений:**
- Production с HTTPS: `https://your-domain.com` (порт не нужен для стандартных 80/443)
@@ -213,12 +212,14 @@ WEB_PORT=4001 # для production Docker контейнера
#### Автоматическая настройка (рекомендуется)
1. Создайте бота через [@BotFather](https://t.me/botfather) в Telegram
2. Получите токен бота и добавьте его в `.env`:
2. Получите токен бота
3. Добавьте `WEBHOOK_BASE_URL` в `.env`:
```bash
TELEGRAM_BOT_TOKEN=your_bot_token_here
TELEGRAM_CHAT_ID=123456789
TELEGRAM_WEBHOOK_BASE_URL=https://your-domain.com
WEBHOOK_BASE_URL=https://your-domain.com
```
4. Откройте приложение и перейдите в раздел "Интеграции" -> "Telegram"
5. Введите Bot Token в поле и нажмите "Сохранить"
6. Отправьте первое сообщение боту в Telegram - Chat ID будет сохранён автоматически
**Важно о портах:**
- Если сервер доступен на стандартных портах (HTTP 80 или HTTPS 443), порт можно не указывать
@@ -231,8 +232,8 @@ WEB_PORT=4001 # для production Docker контейнера
```bash
# Установите ngrok: https://ngrok.com/
ngrok http 8080
# Используйте полученный URL в TELEGRAM_WEBHOOK_BASE_URL (без порта)
# Например: TELEGRAM_WEBHOOK_BASE_URL=https://abc123.ngrok.io
# Используйте полученный URL в WEBHOOK_BASE_URL (без порта)
# Например: WEBHOOK_BASE_URL=https://abc123.ngrok.io
```
4. Проверьте логи сервера - должно появиться сообщение:
@@ -240,9 +241,9 @@ WEB_PORT=4001 # для production Docker контейнера
Telegram webhook configured successfully: https://abc123.ngrok.io/webhook/telegram
```
#### Ручная настройка (если не указан TELEGRAM_WEBHOOK_BASE_URL)
#### Ручная настройка (если не указан WEBHOOK_BASE_URL)
Если вы не указали `TELEGRAM_WEBHOOK_BASE_URL`, webhook нужно настроить вручную:
Если вы не указали `WEBHOOK_BASE_URL`, webhook нужно настроить вручную:
```bash
curl -X POST "https://api.telegram.org/bot<YOUR_BOT_TOKEN>/setWebhook" \