Get your daily feed over Reticulum
Find a file
2025-11-21 21:46:03 -06:00
.github/workflows Bump pypa/gh-action-pypi-publish in /.github/workflows 2025-09-15 08:02:37 +00:00
newsbot Update datetime usage to use UTC consistently across the bot and feed modules, ensuring timezone-aware datetime handling for improved accuracy in scheduling and updates. 2025-11-13 01:16:47 -06:00
.deepsource.toml ci: add .deepsource.toml 2024-12-29 03:59:01 +00:00
.dockerignore add 2025-11-13 01:14:14 -06:00
.env-example update 2025-09-29 01:29:08 -05:00
.gitignore init 0.1.0 2025-01-02 00:21:01 -06:00
Dockerfile Optimize Dockerfile by using --no-cache-dir with pip install for improved build efficiency. 2025-09-29 01:29:08 -05:00
LICENSE Update LICENSE 2025-11-13 01:14:09 -06:00
poetry.lock Update dependencies and increment version to 0.8.0 in pyproject.toml; bump lxmf, lxmfy, and rns versions in poetry.lock for compatibility with updated packages. 2025-11-21 21:46:03 -06:00
pyproject.toml Update dependencies and increment version to 0.8.0 in pyproject.toml; bump lxmf, lxmfy, and rns versions in poetry.lock for compatibility with updated packages. 2025-11-21 21:46:03 -06:00
README.md Update README 2025-11-13 01:14:00 -06:00

news-bot

DeepSource Docker Build and Publish

A LXMFy News Bot for the Reticulum Network. Get your daily RSS full-text feeds with instant news access and optional cryptographic signature verification.

Features

  • Instant News: Type news to get the latest headlines from default feeds immediately
  • RSS Feed Subscriptions: Subscribe to any RSS feed with full-text extraction
  • Scheduled Updates: Automatic delivery based on your timezone and preferred schedule
  • Feed Categories: Pre-configured categories like news, military, cybersecurity, and science
  • Admin Commands: Database backup/restore, statistics, and user management

Installation

pip install lxmfy-news-bot

pipx install lxmfy-news-bot

Git:

pipx install git+https://github.com/lxmfy/news-bot.git

The bot will store its data in ~/.local/share/lxmfy-news-bot/

Usage

lxmfy-news-bot

Configuration

The bot supports various environment variables for customization. See .env-example for a complete list of all available configuration options.

Basic Configuration

  • BOT_NAME: Bot display name (default: "LXMFy News Bot")
  • BOT_ANNOUNCE: Announcement interval in seconds (default: 600)
  • BOT_PREFIX: Command prefix (default: "")
  • BOT_ADMINS: Comma-separated list of admin hashes

Security & Signatures

  • BOT_SIGNATURE_VERIFICATION_ENABLED: Enable cryptographic signature verification (default: false)
  • BOT_REQUIRE_MESSAGE_SIGNATURES: Reject unsigned messages when verification is enabled (default: false)

Performance & Limits

  • BOT_RATE_LIMIT: Messages per minute limit (default: 8)
  • BOT_COOLDOWN: Cooldown period in seconds (default: 1)
  • BOT_MAX_WARNINGS: Max warnings before timeout (default: 3)
  • BOT_WARNING_TIMEOUT: Warning timeout in seconds (default: 300)

Storage & Data

  • DATA_DIR: Data directory path (default: platform-specific)
  • BACKUP_DIR: Backup directory path (default: data/backups)
  • CONFIG_DIR: Configuration directory path (default: newsbot/)
  • FEEDS_CONFIG: Custom feeds YAML file path

Docker

docker run -d \
  -v /path/to/data:/app/data \
  -v /path/to/backups:/app/backups \
  -v /path/to/.reticulum:/root/.reticulum \
  -e BOT_NAME="My News Bot" \
  -e BOT_ADMINS="admin1hash,admin2hash" \
  -e BOT_SIGNATURE_VERIFICATION_ENABLED="true" \
  ghcr.io/lxmfy/news-bot:latest