#twitter #tweet #bot #update #real-time #rate-limiting #feed

bin+lib pipitor

一个自动收集、过滤和重发推文的 Twitter 机器人

17 个版本

0.3.0-alpha.152021年11月14日
0.3.0-alpha.132021年4月10日
0.3.0-alpha.112021年1月13日
0.3.0-alpha.92020年11月28日
0.1.5 2019年7月5日

#1916 in 命令行工具

AGPL-3.0-only

250KB
6.5K SLoC

Pipitor

Build Status crates.io

Pipitor 是一个 Twitter 机器人,它监听 WebSub/Twitter 流,并实时(重新)发布更新。

概述

Pipitor 从 WebSub (PubSubHubbub) 节点或一组 Twitter 账户收集 Atom/RSS 提要条目,并实时(重新)发布更新。

您可以可选地指定正则表达式模式来过滤要(重新)发布的更新。Pipitor 使用正则表达式的语法由 regex 包进行文档化。

Pipitor 使用流式 API (POST statuses/filter) 获取推文,这对速率限制的影响相当小。仅在机器人启动时消耗一次 POST statuses/filter 的速率限制桶。

然而,流式 API 并不完整(偶尔会错过推文),也不是非常快(可能有约 5 秒的延迟),因此 Pipitor 还提供从列表检索推文的功能。当启用列表时,Pipitor 可以在原始推文发布后不到一秒的时间内发送重发推文,但这将以耗尽 GET lists/statuses 的速率限制为代价。此外,当机器人由于某些原因暂停时,它可以在稍后重启时从列表中检索其暂停期间发布的推文。

用法

发布 页面下载您平台上的最新二进制软件包,并将其安装到您选择的目录中。

或者,您也可以从源代码手动构建项目。

cargo install pipitor

安装完成后,在当前工作目录下创建一个名为 Pipitor.toml 的配置文件。您还可以使用 JSON 和 Dhall(通过默认禁用的 dhall 功能)格式(分别对应 Pipitor.jsonPipitor.dhall)。配置格式在 CONFIG.md 中有文档说明,示例配置显示在 Pipitor.example.tomlPipitor.example.dhall 中。

然后,运行以下命令,并按照命令行中的说明操作。这是为了获取机器人的 API 凭证。

pipitor setup

现在,您已经准备就绪!运行以下命令以启动机器人

pipitor run

许可证

此项目受 GNU Affero 通用公共许可证(Version 3)(LICENSEhttps://www.gnu.org/licenses/agpl-3.0.html)的许可,除非明确说明否则。

依赖关系

~48–65MB
~1.5M SLoC