Skip to content

Latest commit

 

History

History
136 lines (107 loc) · 7.13 KB

README.md

File metadata and controls

136 lines (107 loc) · 7.13 KB

Discord RSS Bot

Discord RSS Bot

Python discord.py Flask License: MIT Version

Форум/сайт RSS → красивые посты в Discord. Веб-админка в браузере, фильтры, шаблоны, слэш-команды.

🇬🇧 English version

Для чего

Бот следит за RSS/Atom-лентами и публикует новые записи в выбранный канал Discord в виде аккуратного embed с картинкой, автором, кнопкой и прочим.

Скриншоты

Веб-админка Discord RSS Bot

Пример embed-поста в Discord

Возможности

  • Любые RSS/Atom — универсальный парсер, подходит под большинство источников
  • Красивые embed-посты — цвет акцента, превью, автор, дата, футер, кнопка «Читать на форуме»
  • Веб-админка в браузере — тёмная панель на Flask. Добавление, редактирование, фильтры, предпросмотр и тест без правок JSON
  • Вебхуки и ветки — можно публиковать через webhook или в конкретную thread по ID
  • Кастомные шаблоны — полный контроль над текстом поста через переменные
  • Фильтры — «только» и «исключить» по ключевым словам
  • Индивидуальные интервалы — свой таймаут для каждой ленты
  • Импорт/экспорт — бэкап и перенос лент через JSON
  • Дублирование лент — быстро скопировать настройки
  • Умная синхронизация — при первом запуске история не публикуется
  • Тест из админки и из Discord — быстрая проверка перед боевым включением
  • Статистика — счётчик публикаций, аптайм, команды /about и /rss-stats
  • Дайджест-режим — копить новые записи и слать одной сводкой по расписанию
  • Алерты о поломках — предупреждение в канал, если лента падает несколько раз подряд
  • Фильтры по регулярке — тонкий отбор записей (include/exclude regex)
  • График публикаций — 7 дней статистики прямо в панели
  • Тихие часы — не публиковать ночью, записи копятся и уходят утром
  • Повтор отправки — при сбое Discord/вебхука автоматический ретрай
  • Поиск по логам — фильтр прямо в панели
  • Импорт/экспорт в UI — кнопки в панели, массовое включение/выключение
  • Логи в админке — сразу видно, что происходит
  • Защита паролем — опционально для веб-панели
  • Docker — готовый Dockerfile и docker-compose.yml
  • Видимое авторство — баннер в консоли, команда /about, футер в админке

Слэш-команды

Команда Права Описание
/about Любые Информация о боте, версия, статистика, uptime
/rss-ping Любые Проверка задержки бота
/rss-stats Любые Краткая статистика: ленты, посты, аптайм
/rss-list Любые Список всех лент, каналов и статусов
/rss-info <feed_id> Любые Настройки выбранной ленты (с автодополнением ID)
/rss-check <feed_id> Управление сервером Принудительно проверить ленту
/rss-toggle <feed_id> Управление сервером Включить/выключить ленту
/rss-test <feed_id> Управление сервером Опубликовать свежую запись для теста
/rss-preview <feed_id> Любые Предпросмотр записи без публикации
/rss-reset <feed_id> Управление сервером Сбросить историю ленты
/rss-reload Управление сервером Перечитать конфиг без перезапуска

Быстрый старт

git clone https://github.com/Zver1o7/Discord-RSS-Bot.git
cd Discord-RSS-Bot
pip install -r requirements.txt
copy config.example.json config.json

Открой config.json, впиши discord_token. Запусти:

start.bat

или

python bot.py

Админка откроется на http://127.0.0.1:8000

Подробная инструкция: docs/INSTALL.md

Docker

git clone https://github.com/Zver1o7/Discord-RSS-Bot.git
cd Discord-RSS-Bot
copy config.example.json config.json
docker compose up -d --build

Админка будет доступна на http://127.0.0.1:8000. config.json и папка data/ монтируются как volume.

Структура проекта

Discord-RSS-Bot/
├── bot.py
├── rss_core.py
├── webadmin.py
├── templates/dashboard.html
├── docs/
│   ├── INSTALL.md
│   ├── FORUMS.md
│   └── screenshots/
├── config.example.json
├── requirements.txt
├── start.bat
├── CHANGELOG.md
├── LICENSE
└── README.md

Автор

Zver1o7

Репозиторий · Проблемы · Релизы

Лицензия

MIT License