Skip to content

Latest commit

Β 

History

History
130 lines (89 loc) Β· 3.78 KB

File metadata and controls

130 lines (89 loc) Β· 3.78 KB

Richard

Project Sandbox

Chatbot Icon
A modular Rust-based chatbot for triggering alerts and integrations.


🌐 Links


πŸ“„ Table of Contents


🧭 Overview

Richard is a friendly, modular chatbot that helps trigger alerts and interact with external services.

It is designed to be extensible via standalone modules and currently supports integration with Webex, GitHub, RSS feeds, Ollama, and more.


✨ Features

Richard has a modular design β€” each feature must be explicitly enabled via configuration.

Available Modules

Module Description
webex Interface with Webex chat service
ping Responds to /ping with pong
help Responds to /help command
triggers Dispatches commands to all enabled modules
down_detectors Monitors one or more URLs; alerts if a target becomes unreachable
github_orgs Watches for new releases across all repos in one or more GitHub orgs
github_repos Watches specific GitHub repos for new releases
hello Sends random quotes at regular time intervals
ollama Integrates with Ollama API as a default responder
feeds Monitors RSS feeds and alerts on new items
roll Responds to /roll dice commands (e.g. /roll 1d20)
webpages Monitors webpages and alerts when content changes
outscale_api_versions Watches for new Outscale API versions on selected endpoints

βœ… Requirements


βš™ Installation

Build for your platform

cargo build --release

Build a static binary

rustup target add x86_64-unknown-linux-musl
sudo apt install musl-tools         # For Debian/Ubuntu
cargo build --target x86_64-unknown-linux-musl --release

βš™ Configuration

Richard is configured using environment variables.

  1. Copy the sample config:

    cp config.env.ori config.env
  2. Edit the file:

    vim config.env
  3. Load it:

    source config.env

To see required variables per module:

./target/release/richard --show-params

πŸš€ Usage

source config.env
cargo run

πŸ“œ License

Richard is licensed under the BSD 3-Clause License. Β© Outscale SAS