5 个版本 (稳定)
1.0.3 | 2019 年 4 月 11 日 |
---|---|
1.0.2 | 2019 年 4 月 6 日 |
1.0.1 | 2019 年 3 月 30 日 |
0.1.0 | 2019 年 3 月 4 日 |
#10 in #markov-chain
3MB
69K SLoC
seinbot-rs
使用 AWS Lambda 函数和 Rust 中的马尔可夫链实现的 Seinfeld Twitter 机器人。
简介
来自 Frank Costanza 的示例推文
我总是想制作一个机器人,通过愚蠢的推文为宇宙的热寂做出贡献。这就是结果!
主要为了学习目的,这个项目的目的是看看使用热门电视剧《Seinfeld》
- 如何使用马尔可夫链生成伪随机文本。
- 将生成的内容发布到互联网。
- 自动化内容生成和发布,以便每天进行。
- ... 并且所有这些都在 Rust! 中完成。
结果
幸运的是,有许多文档良好的 Rust 库,使得项目的实现相当简单。使用 AWS Lambda 函数和 Rust 的无服务器应用程序框架,部署和配置代码以定期运行变得非常简单。
service: daily-tweet
provider:
name: aws
runtime: rust
...
functions:
seinbot:
handler: seinbot-rs
events:
- schedule: rate(24 hours)
serverless.yml 摘录(用于部署到 AWS)
虽然这个机器人大部分产生的是无意义的输出,但它有时可以构建一些相当有趣的东西(见上面的推文)。总的来说,我对最终产品非常满意,并感谢以下项目使其成为可能:
- seinfeld-scripts:提供用于马尔可夫链的 Seinfeld 内容数据库。
- markov:提供马尔可夫链的 Rust 实现。
- egg_mode:提供用于与 Twitter API 交互的库。
- aws-lambda-rust-runtime:提供用于在 Rust 中实现 AWS Lambda 函数的库。
- serverless-rust:提供用于配置、测试和部署机器人的框架。
依赖项
~23–33MB
~547K SLoC