{"id":18302290,"url":"https://github.com/outscale/richard","last_synced_at":"2025-04-05T14:31:25.110Z","repository":{"id":217856925,"uuid":"744423218","full_name":"outscale/richard","owner":"outscale","description":"A modular bot to help creating notifications","archived":false,"fork":false,"pushed_at":"2024-07-17T01:50:41.000Z","size":436,"stargazers_count":2,"open_issues_count":6,"forks_count":0,"subscribers_count":4,"default_branch":"main","last_synced_at":"2025-03-21T05:43:08.937Z","etag":null,"topics":["maturity-sandbox"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/outscale.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-01-17T09:16:27.000Z","updated_at":"2025-03-21T05:07:35.000Z","dependencies_parsed_at":"2024-04-03T08:28:37.974Z","dependency_job_id":"b32df7ae-15ab-4e01-81b3-c0532293454a","html_url":"https://github.com/outscale/richard","commit_stats":null,"previous_names":["outscale/richard"],"tags_count":5,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/outscale%2Frichard","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/outscale%2Frichard/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/outscale%2Frichard/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/outscale%2Frichard/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/outscale","download_url":"https://codeload.github.com/outscale/richard/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247352625,"owners_count":20925306,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["maturity-sandbox"],"created_at":"2024-11-05T15:18:52.928Z","updated_at":"2025-04-05T14:31:23.455Z","avatar_url":"https://github.com/outscale.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Richard\n[![Project Sandbox](https://docs.outscale.com/fr/userguide/_images/Project-Sandbox-yellow.svg)](https://docs.outscale.com/en/userguide/Open-Source-Projects.html)\n\nRichard is a friendly chatbot which can help you trigger alerts.\n\nFor now, the bot only support Webex room to speak for has a modular architecture to add any other communication protocols.\n\n# Features\n\nRichard is modular and every module must be explicitely enabled.\n\nAvailable modules:\n- webex: interface with Webex chat service\n- ping: responds to /ping commands with \"pong\"\n- help: responds to /help command\n- triggers: allow commands to be sent to all other modules\n- down_detectors: watch for one or more URL. Alert when target goes down\n- github_orgs: watch for all releases of all repositories of one or more github organisation\n- github_repos: watch one or more specific githib repositories, trigger message on new release\n- hello: send a random quote at a specific time interval\n- ollama: interface with [ollama API](https://ollama.ai/), respond when no command is triggered\n- feeds: watch for one or more RSS feeds, alert on new items\n- roll: responds to /roll commands. e.g. /roll 1d20\n- webpages: watch for one or more webpages. Alert when page content change.\n- outscale_api_versions: watch for new API version of one or more Outscale API endpoints\n\n# Build\n\n1. Install [Rustlang](https://www.rust-lang.org/)\n2. Run `cargo build --release`\n\nIf you need to have a static binary:\n1. Install musl toolchain: `rustup target add x86_64-unknown-linux-musl`\n2. Install `musl-gcc` (for Debian `apt install musl-tools`)\n3. Build with `cargo build --target x86_64-unknown-linux-musl --release`\n\n# Configure\n\nParameters are passed through environment variables. See [config.env.ori](./config.env.ori) example.\nUse `--show-params` flag to print all needed var env per modules\n\nAs a facility, you can:\n1. copy `config.env.ori` to `config.env`\n2. edit `config.env`\n3. load options by running `source config.env`\n\n# Run\n\n```\nsource myconf.env \u0026\u0026 cargo run\n```","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Foutscale%2Frichard","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Foutscale%2Frichard","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Foutscale%2Frichard/lists"}