Skip to content

Latest commit

 

History

History
51 lines (38 loc) · 1.98 KB

README.md

File metadata and controls

51 lines (38 loc) · 1.98 KB

Richard

Project Sandbox

Richard is a friendly chatbot which can help you trigger alerts.

For now, the bot only support Webex room to speak for has a modular architecture to add any other communication protocols.

Features

Richard is modular and every module must be explicitely enabled.

Available modules:

  • webex: interface with Webex chat service
  • ping: responds to /ping commands with "pong"
  • help: responds to /help command
  • triggers: allow commands to be sent to all other modules
  • down_detectors: watch for one or more URL. Alert when target goes down
  • github_orgs: watch for all releases of all repositories of one or more github organisation
  • github_repos: watch one or more specific githib repositories, trigger message on new release
  • hello: send a random quote at a specific time interval
  • ollama: interface with ollama API, respond when no command is triggered
  • feeds: watch for one or more RSS feeds, alert on new items
  • roll: responds to /roll commands. e.g. /roll 1d20
  • webpages: watch for one or more webpages. Alert when page content change.
  • outscale_api_versions: watch for new API version of one or more Outscale API endpoints

Build

  1. Install Rustlang
  2. Run cargo build --release

If you need to have a static binary:

  1. Install musl toolchain: rustup target add x86_64-unknown-linux-musl
  2. Install musl-gcc (for Debian apt install musl-tools)
  3. Build with cargo build --target x86_64-unknown-linux-musl --release

Configure

Parameters are passed through environment variables. See config.env.ori example. Use --show-params flag to print all needed var env per modules

As a facility, you can:

  1. copy config.env.ori to config.env
  2. edit config.env
  3. load options by running source config.env

Run

source myconf.env && cargo run