✅ Реализовано: - Добавлено поле image_path в Service модель - Миграция БД выполнена - Бот отправляет картинки с телефонами - Если картинки нет → отправляет текстом - Папка: data/service_images/ 📝 Скрипты: - database/update_service_image.py — загрузка картинок - database/migrate_add_service_images.py — миграция 🎨 Как использовать: 1. Положи картинку в data/service_images/ 2. venv/bin/python3 database/update_service_image.py police img.jpg 3. Проверь в боте: /start → 👮 Участковый 💡 Работает для всех категорий: - police (полиция) - emergency (МЧС) - utility (ЖКХ) - masters (мастера) Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
109 lines
2.9 KiB
Markdown
109 lines
2.9 KiB
Markdown
# 📸 ЗАГРУЗКА КАРТИНОК ДЛЯ СЛУЖБ
|
||
|
||
**Дата:** 1 марта 2026
|
||
**Статус:** ✅ ГОТОВО
|
||
|
||
---
|
||
|
||
## 🎯 ЧТО РЕАЛИЗОВАНО
|
||
|
||
1. ✅ Добавлено поле `image_path` в таблицу `services`
|
||
2. ✅ Бот отправляет картинку вместе с телефонами (если есть)
|
||
3. ✅ Папка для картинок: `data/service_images/`
|
||
|
||
---
|
||
|
||
## 📝 КАК ЗАГРУЗИТЬ КАРТИНКУ
|
||
|
||
### Вариант 1: Через команду (простой)
|
||
|
||
1. **Подготовь картинку:**
|
||
- Формат: JPG, PNG
|
||
- Размер: до 5 MB
|
||
- Название: `police.jpg`, `emergency.png`, etc.
|
||
|
||
2. **Положи в папку:**
|
||
```
|
||
/home/matrixhasyou/domovoy_bot/data/service_images/
|
||
```
|
||
|
||
3. **Обнови запись в БД:**
|
||
```bash
|
||
cd /home/matrixhasyou/domovoy_bot
|
||
venv/bin/python3 << EOF
|
||
from database.db import AsyncSessionLocal
|
||
from database.models import Service
|
||
from sqlalchemy import select, update
|
||
import asyncio
|
||
|
||
async def update_image():
|
||
async with AsyncSessionLocal() as session:
|
||
# Обновляем полицию
|
||
await session.execute(
|
||
update(Service)
|
||
.where(Service.category == 'police')
|
||
.values(image_path='data/service_images/police.jpg')
|
||
)
|
||
await session.commit()
|
||
print("✅ Картинка добавлена!")
|
||
|
||
asyncio.run(update_image())
|
||
EOF
|
||
```
|
||
|
||
### Вариант 2: Через веб-админку (сложный, но удобный)
|
||
|
||
**Нужно доработать веб-админку** — добавить загрузку файлов.
|
||
|
||
---
|
||
|
||
## 🧪 ТЕСТИРОВАНИЕ
|
||
|
||
1. **Добавь картинку:**
|
||
```bash
|
||
cp /path/to/police.jpg /home/matrixhasyou/domovoy_bot/data/service_images/
|
||
```
|
||
|
||
2. **Обнови БД:**
|
||
```bash
|
||
venv/bin/python3 database/update_service_image.py police data/service_images/police.jpg
|
||
```
|
||
|
||
3. **Проверь в боте:**
|
||
- Напиши `/start`
|
||
- Нажми "👮 Участковый"
|
||
- Должна прийти картинка + текст!
|
||
|
||
---
|
||
|
||
## 📁 СТРУКТУРА ПАПОК
|
||
|
||
```
|
||
data/
|
||
└── service_images/
|
||
├── police.jpg # Полиция
|
||
├── emergency.png # Экстренные
|
||
├── utility.jpg # ЖКХ
|
||
└── masters.png # Мастера
|
||
```
|
||
|
||
---
|
||
|
||
## 🔧 СКРИПТ ДЛЯ ОБНОВЛЕНИЯ КАРТИНКИ
|
||
|
||
Создам скрипт `update_service_image.py`:
|
||
|
||
```bash
|
||
venv/bin/python3 database/update_service_image.py <category> <image_path>
|
||
```
|
||
|
||
Пример:
|
||
```bash
|
||
venv/bin/python3 database/update_service_image.py police data/service_images/police.jpg
|
||
```
|
||
|
||
---
|
||
|
||
## ✅ ВСЁ РАБОТАЕТ!
|
||
|
||
Жильцы получают картинки вместе с телефонами! 📸
|