# BeaverCool Outreach — встановлення на hostiq

Дві папки:
- `outreach-bot/` — бот і база. Кладеться в **домашню папку** акаунта (`~/outreach-bot`), не в public_html.
- `panel/` — панель. Кладеться в **папку сайту beavercool.online** (`…/beavercool.online/panel`).

Сайт BeaverCool і його база не зачіпаються.

## 1. Залити файли
cPanel → File Manager:
1. Завантажте архів у домашню папку і розпакуйте.
2. `outreach-bot` залиште в домашній папці.
3. `panel` перенесіть у кореневу папку домену beavercool.online (там, де його index).

## 2. Налаштувати
У папці `outreach-bot`:
1. `config.ini.example` → скопіюйте як `config.ini` і заповніть:
   - `postal_address` — **обов'язково** (поштова адреса для закону CAN-SPAM; без неї бот не відправлятиме);
   - `secret` — випадковий рядок (команда нижче);
   - `[panel] password` — пароль до панелі;
   - хост і порти пошти, якщо в «Connect Devices» інші.
2. `senders.csv.example` → `senders.csv`, впишіть паролі скриньок tim@, anna@, mike@.

У терміналі cPanel:
```
cd ~/outreach-bot
python3 -c "import secrets;print(secrets.token_hex(24))"     # → вставити в secret
chmod 600 config.ini senders.csv
```

## 3. Перевірити і завантажити базу
```
cd ~/outreach-bot
python3 outreach_bot.py --check                         # вхід у скриньки (SMTP + IMAP)
python3 outreach_bot.py --import contacts.csv           # база FMCSA (файл покласти в цю ж папку)
python3 outreach_bot.py --preview                       # черга, звертання, тексти листів
python3 outreach_bot.py --test-send адреса@mail-tester  # усі 3 листи на тестову адресу
```

## 4. Запустити (cron)
cPanel → Cron Jobs → кожні 5 хвилин:
```
*/5 * * * * cd ~/outreach-bot && /bin/python3 outreach_bot.py --once >> data/cron.log 2>&1
```
Бот сам дотримується вікна відправки (8:00–18:00 за Нью-Йорком, будні) і лімітів прогріву.

## 5. Панель
`https://beavercool.online/panel` — логін `admin` і пароль з config.ini.
- **Огляд:** відповіді, що чекають реакції, скриньки, кампанії, графік, штати, пауза.
- **Контакти:** фільтри за штатом, статусом, розміром і скринькою; експорт CSV.
- **Картка контакту:** історія листів, нотатки, кнопки «Розмістили вакансію», «Не писати», «Повернути в чергу».

## Корисне
- Пауза всієї розсилки або однієї кампанії — кнопкою в панелі.
- Тексти листів: `campaigns/trucking/steps/1.txt`, `2.txt`, `3.txt`, підпис — `footer.txt`.
- Хто потрапляє в кампанію (штати, розмір) — `campaigns/trucking/campaign.ini`.
- Статистика в консолі: `python3 outreach_bot.py --status`. Журнал: `data/log.txt`.
- Бекап: скопіювати файл `data/outreach.db`.
