Обновить README.md
This commit is contained in:
272
README.md
272
README.md
@@ -13,10 +13,276 @@
|
||||
- 📝 Красивое HTML форматирование сообщений
|
||||
- ⚙️ Гибкая настройка через YAML конфиги
|
||||
|
||||
## Быстрый старт
|
||||
## Установка через скрипт (простой способ)
|
||||
|
||||
### 1. Клонирование репозитория
|
||||
Этот способ подходит, если на сервере уже есть Python 3.8+ и вы хотите запустить бота как обычный процесс или systemd сервис.
|
||||
|
||||
### Шаг 1. Клонируем репозиторий
|
||||
|
||||
```bash
|
||||
git clone https://git.islipper.ru/Matrix_Bots/matrix-rss-bot.git
|
||||
cd matrix-rss-bot
|
||||
cd matrix-rss-bot
|
||||
```
|
||||
|
||||
### Шаг 2. Запускаем установочный скрипт
|
||||
|
||||
```bash
|
||||
chmod +x scripts/setup.sh
|
||||
./scripts/setup.sh
|
||||
```
|
||||
|
||||
Скрипт автоматически:
|
||||
- Создаст виртуальное окружение Python
|
||||
- Установит все зависимости
|
||||
- Создаст папки для данных и логов
|
||||
- Скопирует примеры конфигов
|
||||
- Предложит установить systemd сервис
|
||||
|
||||
### Шаг 3. Настраиваем конфиги
|
||||
|
||||
Отредактируйте основной конфиг:
|
||||
|
||||
```bash
|
||||
nano config/config.yaml
|
||||
```
|
||||
|
||||
Введите ваши данные:
|
||||
- `homeserver`: URL вашего Matrix сервера (например, https://matrix.example.com)
|
||||
- `bot_user_id`: ID бота (например, @rssbot:example.com)
|
||||
- `access_token`: токен доступа бота
|
||||
|
||||
Отредактируйте список RSS источников:
|
||||
|
||||
```bash
|
||||
nano config/sources.yaml
|
||||
```
|
||||
|
||||
Добавьте ваши источники в формате:
|
||||
```yaml
|
||||
sources:
|
||||
- url: "https://example.com/rss.xml"
|
||||
name: "Название источника"
|
||||
room_id: "!идентификатор_комнаты:сервер"
|
||||
```
|
||||
|
||||
### Шаг 4. Запускаем бота
|
||||
|
||||
**Вариант 1: Ручной запуск**
|
||||
|
||||
```bash
|
||||
source venv/bin/activate
|
||||
python -m bot.main
|
||||
```
|
||||
|
||||
**Вариант 2: Через systemd (если установили)**
|
||||
|
||||
```bash
|
||||
sudo systemctl start matrix-rss-bot
|
||||
sudo systemctl enable matrix-rss-bot
|
||||
sudo systemctl status matrix-rss-bot
|
||||
```
|
||||
|
||||
**Вариант 3: Через screen (для долгой работы)**
|
||||
|
||||
```bash
|
||||
screen -S rss-bot
|
||||
source venv/bin/activate
|
||||
python -m bot.main
|
||||
# Нажми Ctrl+A, затем D для выхода
|
||||
# Вернуться: screen -r rss-bot
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Установка через Docker (рекомендуемый способ)
|
||||
|
||||
Этот способ изолирует бота от системы, упрощает обновление и управление.
|
||||
|
||||
### Шаг 1. Убедитесь, что Docker установлен
|
||||
|
||||
```bash
|
||||
docker --version
|
||||
docker-compose --version
|
||||
```
|
||||
|
||||
Если Docker не установлен:
|
||||
|
||||
```bash
|
||||
# Установка Docker
|
||||
curl -fsSL https://get.docker.com -o get-docker.sh
|
||||
sh get-docker.sh
|
||||
|
||||
# Установка Docker Compose
|
||||
curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
|
||||
chmod +x /usr/local/bin/docker-compose
|
||||
```
|
||||
|
||||
### Шаг 2. Клонируем репозиторий
|
||||
|
||||
```bash
|
||||
git clone https://git.islipper.ru/Matrix_Bots/matrix-rss-bot.git
|
||||
cd matrix-rss-bot
|
||||
```
|
||||
|
||||
### Шаг 3. Настраиваем конфиги
|
||||
|
||||
```bash
|
||||
# Копируем примеры
|
||||
cp config/config.example.yaml config/config.yaml
|
||||
cp config/sources.example.yaml config/sources.yaml
|
||||
|
||||
# Редактируем
|
||||
nano config/config.yaml
|
||||
nano config/sources.yaml
|
||||
```
|
||||
|
||||
### Шаг 4. Запускаем бота
|
||||
|
||||
```bash
|
||||
# Сборка и запуск в фоне
|
||||
docker-compose up -d
|
||||
|
||||
# Просмотр логов
|
||||
docker-compose logs -f
|
||||
|
||||
# Проверка статуса
|
||||
docker-compose ps
|
||||
```
|
||||
|
||||
### Шаг 5. Управление ботом
|
||||
|
||||
```bash
|
||||
# Остановка
|
||||
docker-compose stop
|
||||
|
||||
# Запуск
|
||||
docker-compose start
|
||||
|
||||
# Перезапуск
|
||||
docker-compose restart
|
||||
|
||||
# Остановка с удалением контейнера
|
||||
docker-compose down
|
||||
|
||||
# Обновление (после git pull)
|
||||
docker-compose up -d --build
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Получение access_token для бота
|
||||
|
||||
1. Войдите в аккаунт бота в Matrix клиенте (Element, FluffyChat и т.д.)
|
||||
2. Откройте настройки профиля → Помощь и о программе
|
||||
3. Нажмите "Перейти на страницу разработчика"
|
||||
4. Скопируйте access_token из раздела "Информация о сессии"
|
||||
|
||||
Или через API:
|
||||
|
||||
```bash
|
||||
curl -X POST "https://ваш_сервер/_matrix/client/r0/login" \
|
||||
-H "Content-Type: application/json" \
|
||||
-d '{
|
||||
"type": "m.login.password",
|
||||
"user": "@rssbot:ваш_сервер",
|
||||
"password": "пароль_бота"
|
||||
}'
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Получение room_id для комнаты
|
||||
|
||||
**Способ 1: Через клиент**
|
||||
- Откройте комнату в Element
|
||||
- Нажмите на название комнаты → Настройки комнаты
|
||||
- Скопируйте внутренний идентификатор (начинается с !)
|
||||
|
||||
**Способ 2: Через API**
|
||||
|
||||
```bash
|
||||
curl -X GET "https://ваш_сервер/_matrix/client/r0/joined_rooms" \
|
||||
-H "Authorization: Bearer syt_ваш_токен"
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Проверка работы
|
||||
|
||||
После запуска бота проверьте логи:
|
||||
|
||||
```bash
|
||||
# Для обычной установки
|
||||
tail -f bot.log
|
||||
|
||||
# Для Docker
|
||||
docker-compose logs -f
|
||||
```
|
||||
|
||||
Вы должны увидеть:
|
||||
|
||||
```
|
||||
Запускаем RSS-бота...
|
||||
Соединение с Matrix установлено
|
||||
Цикл #1
|
||||
Проверяю: Habr
|
||||
Найдено 3 новых в Habr
|
||||
Отправка 3 новостей в комнату
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Обновление бота
|
||||
|
||||
**Для обычной установки:**
|
||||
|
||||
```bash
|
||||
git pull
|
||||
source venv/bin/activate
|
||||
pip install -r requirements.txt --upgrade
|
||||
sudo systemctl restart matrix-rss-bot # если через systemd
|
||||
```
|
||||
|
||||
**Для Docker:**
|
||||
|
||||
```bash
|
||||
git pull
|
||||
docker-compose down
|
||||
docker-compose up -d --build
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Устранение частых проблем
|
||||
|
||||
**Ошибка "Authentication failed"**
|
||||
Проверьте access_token в config.yaml, получите новый токен.
|
||||
|
||||
**Бот не отправляет сообщения**
|
||||
Убедитесь, что бот приглашен в комнату и имеет права на отправку.
|
||||
|
||||
**Не скачиваются изображения**
|
||||
Проверьте права на папку data/news_images, установите Pillow.
|
||||
|
||||
**Контейнер не запускается (Docker)**
|
||||
Проверьте логи: docker-compose logs
|
||||
|
||||
---
|
||||
|
||||
## Структура проекта
|
||||
|
||||
```
|
||||
matrix-rss-bot/
|
||||
├── bot/ # Исходный код
|
||||
├── config/ # Конфиги (config.yaml, sources.yaml)
|
||||
├── data/ # Данные (история, изображения)
|
||||
├── logs/ # Логи бота
|
||||
├── scripts/ # Установочные скрипты
|
||||
├── docker-compose.yml # Конфигурация Docker
|
||||
├── requirements.txt # Зависимости Python
|
||||
└── README.md # Документация
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
Выберите способ установки, который лучше подходит для вашего сервера. Docker проще в обслуживании и обновлении, обычная установка дает больше контроля над процессом.
|
||||
Reference in New Issue
Block a user