3 releases

0.1.4 Mar 22, 2024
0.1.2 Jan 19, 2024
0.1.0 Jan 18, 2024

#684 in Web programming

Download history 51/week @ 2024-07-25 7/week @ 2024-08-01 9/week @ 2024-09-19 8/week @ 2024-09-26 5/week @ 2024-10-03

129 downloads per month

BSD-3-Clause

91KB
2.5K SLoC

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

Dependencies

~16–30MB
~521K SLoC