#聊天机器人 #模块化 #警报 #命令 #模块 #架构 #Webex

app richard

richard是一个模块化的聊天机器人

3个版本

0.1.4 2024年3月22日
0.1.2 2024年1月19日
0.1.0 2024年1月18日

#4 in #警报

每月21次下载

BSD-3-Clause

91KB
2.5K SLoC

Richard

Project Sandbox

Richard是一个友好的聊天机器人,可以帮助您触发警报。

目前,该机器人只支持Webex会议室,具有模块化架构,可以添加任何其他通信协议。

功能

Richard是模块化的,每个模块都必须明确启用。

可用模块

  • webex:与Webex聊天服务接口
  • ping:对/ping命令响应“pong”
  • 帮助:对/help命令响应
  • 触发器:允许将命令发送到所有其他模块
  • down_detectors:监视一个或多个URL。当目标停止时发出警报
  • github_orgs:监视一个或多个GitHub组织的所有仓库的版本
  • github_repos:监视一个或多个特定的GitHub仓库,在新版本发布时触发消息
  • hello:在特定时间间隔发送随机引言
  • ollama:与ollama API接口,在没有触发命令时响应
  • feeds:监视一个或多个RSS源,在新增项目时发出警报
  • roll:对/roll命令响应。例如,/roll 1d20
  • webpages:监视一个或多个网页。当页面内容更改时发出警报。
  • outscale_api_versions:监视一个或多个Outscale API端点的API版本

构建

  1. 安装Rustlang
  2. 运行cargo build --release

如果您需要静态二进制文件

  1. 安装musl工具链:rustup target add x86_64-unknown-linux-musl
  2. 安装musl-gcc(对于Debian apt install musl-tools
  3. 使用cargo build --target x86_64-unknown-linux-musl --release构建

配置

参数通过环境变量传递。请参阅config.env.ori示例。使用--show-params标志打印每个模块所需的所有环境变量

作为一个便利的工具,您可以

  1. 复制 config.env.oriconfig.env
  2. 编辑 config.env
  3. 通过运行 source config.env 加载选项

运行

source myconf.env && cargo run

依赖项

~15–30MB
~539K SLoC