3 个版本
使用旧的 Rust 2015
0.1.3 | 2017 年 5 月 20 日 |
---|---|
0.1.2 | 2017 年 5 月 20 日 |
0.1.0 | 2017 年 5 月 7 日 |
#24 在 #forward
16KB
315 行
telescreen
telescreen
是一个 Slack 机器人,通过简单的路由定义文件在频道之间转发消息。
以下截图显示了使用以下配置时的行为。
- match: 'personal-.+'
destinations:
- personal-timeline
- match: '.*'
destinations:
- public-timeline
快速开始
🔧 预构建的二进制文件
您可以从 Linux 和 macOS 的 GitHub 发布页面 下载预构建的二进制文件。仅 Linux 版本的二进制文件是静态链接的。
🌱 在您的环境中构建
如果您是 Rust 程序员,可以使用 cargo 命令安装,
$ cargo install telescreen
也可以手动构建,
$ git clone [email protected]:mozamimy/telescreen.git
$ cd telescreen
$ cargo build --release
$ ./target/release/telescreen --help
Usage: ./target/debug/telescreen [options]
Options:
-a, --api-key API_KEY
Slack API key for bot integration
-c, --config FILE Path to config file
-h, --help Print this help menu
此外,您可以使用 muslrust Docker 镜像构建静态链接的二进制文件。
$ docker pull clux/muslrust
$ ./exec_with_muslrust cargo build --release
📃 创建一个配置文件
路由规则可以通过格式为 YAML 的文件进行配置。文件包含一个包含类似 { match: regex, destinations: [channel1, channel2, ... ] }
的哈希的数组。
例如,以下配置将所有消息发送到 #public-timeline 频道。
- match: '.*'
destinations:
- public-timeline
另一方面,以下示例也将所有消息发送到 #public-timeline 频道,并将带有 personal-
前缀的消息发送到 #personal-timeline 频道。
- match: 'personal-.+'
destinations:
- personal-timeline
- match: '.*'
destinations:
- public-timeline
🚀 运行
您可以像以下命令一样运行 telescreen,
$ telescreen --api-key=[API_KEY] --config=/path/to/your/config
🐳 使用 Docker 运行
该镜像托管在 Docker Hub mozamimy/telescreen。
$ git clone [email protected]:mozamimy/telescreen.git
$ cd telescreen
$ API_KEY=[API_KEY] DEST_CHANNEL=your-channel docker-compose up
$ docker-compose down
您可以通过环境变量进行配置,
API_KEY
:机器人集成所需的 Slack API 密钥(必需)DEST_CHANNEL
:目标频道(默认:general)
它简单地收集消息并发送到 DEST_CHANNEL
。如果您想使用更复杂的配置,您应该创建自己的配置并在容器中使用它。
✒️ 记录
您可以使用 RUST_LOG
环境变量指定日志级别。以下关键字可用,
- 跟踪
- 调试
- 信息
- 警告
- 错误(默认)
贡献
欢迎在 GitHub 上提交错误报告和拉取请求 https://github.com/mozamimy/telescreen。
许可证
该程序在MIT许可证的条款下作为开源软件提供。
依赖项
~13–22MB
~353K SLoC