🔥 ОБЪЯВЛЕНИЯ: • Срок действия: 7 → 14 дней 🎯 ИНИЦИАТИВНАЯ ГРУППА: • Добавлена кнопка 'Рассылка ИГ' в меню • Команда /ig_broadcast для членов ИГ • Поддержка текста + фото + файлов • Настройка лимита в веб-панели ⚙️ ВЕБ-ПАНЕЛЬ: • Новая страница /settings • Настройка лимита рассылки ИГ (секунды) • Кнопки статистики фильтруют пользователей • Индикатор активного фильтра 🎨 UI: • Исправлен <font> → emoji (Telegram не поддерживает) • Цветные заголовки через emoji 📁 ФАЙЛЫ: • handlers/ads.py: 14 дней • handlers/initiative_group.py: рассылка ИГ • web/app.py: API настроек • web/templates/settings.html: страница настроек • utils/ui_styles.py: без <font> тегов • database: settings table Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
206 lines
5.3 KiB
Markdown
206 lines
5.3 KiB
Markdown
# 🏢 TELEGRAM FORUM TOPICS — НАСТРОЙКА БОТА
|
||
|
||
**Обновлено:** 4 марта 2026
|
||
**Статус:** ✅ НАСТРОЕНО
|
||
|
||
---
|
||
|
||
## 📋 ЧТО СДЕЛАНО
|
||
|
||
Бот теперь поддерживает **Telegram Forum Topics** — отдельные ветки внутри чата!
|
||
|
||
### 10 тем настроено:
|
||
|
||
| № | Тема | ID | Куда отправляет бот |
|
||
|---|------|-----|---------------------|
|
||
| 1 | **Общий чат** | `1` | Рассылки, объявления, уведомления |
|
||
| 2 | **Важные объявления** | `6258` | Объявления жильцов (`/ad`) |
|
||
| 3 | **Ссылки** | `6265` | — |
|
||
| 4 | **Мемы** | `6262` | — |
|
||
| 5 | **Для автовладельцев** | `6266` | — |
|
||
| 6 | **Потеряшки** | `6263` | Потерянные вещи (`/lost`) |
|
||
| 7 | **Собрания собственников** | `6261` | События, собрания (`/events`) |
|
||
| 8 | **Вывоз КГМ** | `6264` | Напоминания о вывозе мусора |
|
||
| 9 | **Переписка с УО** | `6260` | — |
|
||
| 10 | **Важные телефоны** | `6259` | — |
|
||
|
||
---
|
||
|
||
## ⚙️ КОНФИГУРАЦИЯ
|
||
|
||
### .env
|
||
```ini
|
||
# Telegram Forum Topics
|
||
FORUM_ENABLED=true
|
||
TOPIC_GENERAL=1
|
||
TOPIC_ADS=6258
|
||
TOPIC_LINKS=6265
|
||
TOPIC_MEMES=6262
|
||
TOPIC_AUTO=6266
|
||
TOPIC_LOSTFOUND=6263
|
||
TOPIC_MEETINGS=6261
|
||
TOPIC_KGM=6264
|
||
TOPIC_UO=6260
|
||
TOPIC_PHONES=6259
|
||
```
|
||
|
||
### config.py
|
||
```python
|
||
FORUM_TOPICS = {
|
||
'general': 1,
|
||
'ads': 6258,
|
||
'links': 6265,
|
||
'memes': 6262,
|
||
'auto': 6266,
|
||
'lostfound': 6263,
|
||
'meetings': 6261,
|
||
'kgm': 6264,
|
||
'uo': 6260,
|
||
'phones': 6259,
|
||
}
|
||
```
|
||
|
||
---
|
||
|
||
## 🚀 КАК БОТ ИСПОЛЬЗУЕТ ТЕМЫ
|
||
|
||
### Объявления (`/ad`)
|
||
```python
|
||
# Отправка в тему "Важные объявления"
|
||
await bot.send_message(
|
||
chat_id=ADMIN_CHAT_ID,
|
||
message_thread_id=get_topic_id('ads'), # 6258
|
||
text="Объявление..."
|
||
)
|
||
```
|
||
|
||
### Рассылки от админа
|
||
```python
|
||
# Отправка в "Общий чат"
|
||
await bot.send_message(
|
||
chat_id=ADMIN_CHAT_ID,
|
||
message_thread_id=get_topic_id('general'), # 1
|
||
text="Рассылка..."
|
||
)
|
||
```
|
||
|
||
### События (`/events`)
|
||
```python
|
||
# Отправка в "Собрания собственников"
|
||
await bot.send_message(
|
||
chat_id=ADMIN_CHAT_ID,
|
||
message_thread_id=get_topic_id('meetings'), # 6261
|
||
text="Событие..."
|
||
)
|
||
```
|
||
|
||
---
|
||
|
||
## 📊 ЧТО КУДА ОТПРАВЛЯЕТСЯ
|
||
|
||
| Тип контента | Тема | ID |
|
||
|-------------|------|-----|
|
||
| **Объявления жильцов** (`/ad`) | Важные объявления | 6258 |
|
||
| **Рассылки админа** | Общий чат | 1 |
|
||
| **Напоминания ЖКХ** | Общий чат | 1 |
|
||
| **Отключения (вода, свет)** | Общий чат | 1 |
|
||
| **События дома** | Собрания собственников | 6261 |
|
||
| **Потерянные вещи** | Потеряшки | 6263 |
|
||
| **Вывоз КГМ** | Вывоз КГМ | 6264 |
|
||
|
||
---
|
||
|
||
## 🔧 ДОБАВЛЕНИЕ НОВЫХ ТЕМ
|
||
|
||
1. **Добавь в `.env`:**
|
||
```ini
|
||
TOPIC_NEW=12345
|
||
```
|
||
|
||
2. **Обнови `config.py`:**
|
||
```python
|
||
FORUM_TOPICS = {
|
||
...
|
||
'new': TOPIC_NEW,
|
||
}
|
||
```
|
||
|
||
3. **Используй в коде:**
|
||
```python
|
||
await bot.send_message(
|
||
chat_id=config.ADMIN_CHAT_ID,
|
||
message_thread_id=config.get_topic_id('new'),
|
||
text="..."
|
||
)
|
||
```
|
||
|
||
4. **Перезапусти бота:**
|
||
```bash
|
||
cd /home/matrixhasyou/domovoy_bot
|
||
./stop.sh && ./run.sh
|
||
```
|
||
|
||
---
|
||
|
||
## 🎯 УМНЫЙ АНАЛИЗАТОР ТЕМ
|
||
|
||
Бот автоматически определяет тему по тексту сообщения:
|
||
|
||
| Ключевые слова | Тема |
|
||
|---------------|------|
|
||
| "продам", "куплю", "отдам" | Важные объявления |
|
||
| "потерял", "нашёл", "ключи" | Потеряшки |
|
||
| "собрание", "голосование" | Собрания собственников |
|
||
| "мусор", "вывоз", "КГМ" | Вывоз КГМ |
|
||
| "сантехник", "электрик" | Важные телефоны |
|
||
|
||
---
|
||
|
||
## ✅ ПРОВЕРКА РАБОТЫ
|
||
|
||
1. **Создай объявление:**
|
||
```
|
||
/ad
|
||
```
|
||
→ Должно появиться в теме "Важные объявления"
|
||
|
||
2. **Отправь рассылку:**
|
||
```
|
||
/broadcast
|
||
```
|
||
→ Должно появиться в "Общем чате"
|
||
|
||
3. **Создай событие:**
|
||
```
|
||
/event_add
|
||
```
|
||
→ Должно появиться в "Собрания собственников"
|
||
|
||
---
|
||
|
||
## 🛠️ ОТЛАДКА
|
||
|
||
### Бот отправляет не в ту тему:
|
||
```bash
|
||
# Проверь .env
|
||
cat .env | grep TOPIC_
|
||
|
||
# Проверь config.py
|
||
python -c "from config import FORUM_TOPICS; print(FORUM_TOPICS)"
|
||
```
|
||
|
||
### Ошибка "Invalid message_thread_id":
|
||
```bash
|
||
# Проверь что тема существует
|
||
# Открой тему в Telegram и проверь URL
|
||
```
|
||
|
||
### Бот не видит сообщения из тем:
|
||
```bash
|
||
# Проверь права бота в каждой теме
|
||
# Бот должен быть админом со доступом к сообщениям
|
||
```
|
||
|
||
---
|
||
|
||
**by MatrixHasYou** 🏠
|