A modular Rust-based chatbot for triggering alerts and integrations.
- 🔧 Example Configuration: config.env.ori
- 🛠 Contribution Guide: CONTRIBUTING.md
- 💬 Join us on Discord
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.
Richard has a modular design — each feature must be explicitly enabled via configuration.
| 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 |
- Rust toolchain
musl-tools(optional, for building static binaries)
cargo build --releaserustup target add x86_64-unknown-linux-musl
sudo apt install musl-tools # For Debian/Ubuntu
cargo build --target x86_64-unknown-linux-musl --releaseRichard is configured using environment variables.
-
Copy the sample config:
cp config.env.ori config.env
-
Edit the file:
vim config.env
-
Load it:
source config.env
To see required variables per module:
./target/release/richard --show-paramssource config.env
cargo runRichard is licensed under the BSD 3-Clause License. © Outscale SAS