#command-line-arguments #bot #post #format #believe #can-t #fedi

app inventor_bot

一种用于 '我简直不能相信 __ 发明了 __' 格式帖子的 fedi 机器人。

2 个版本 (1 个稳定版)

1.0.0 2024年7月15日
0.1.0 2024年7月15日

144网络编程

Download history 191/week @ 2024-07-10 32/week @ 2024-07-17 13/week @ 2024-07-24 7/week @ 2024-07-31

每月243次下载

自定义许可证

31KB
797

安装 | 用法 | 配置 | 示例 | 贡献

发明机器人

Github Crates.io OQL License

一种用于 '我简直不能相信 __ 发明了 __' 格式帖子的 fedi 机器人。

安装

可以从 crates.io 或手动从 GitHub 安装发明机器人。

Crates.io

假设您已安装 Rust 工具链,您只需运行以下命令即可安装发明机器人:

cargo install inventor_bot

Nix

您还可以使用 Nix flakes 构建发明机器人;

nix build github:KaitlynEthylia/InventorBot

用法

运行 inventor_bot 命令将启动机器人,但除非您提供配置文件,否则它将无法运行。提供了一些命令行参数来修改机器人的运行方式

-c, --config <FILE>:覆盖默认配置文件路径。

-h, --cache <DIR>:覆盖默认缓存目录路径,忽略配置中设置的任何值。 <br/ >

-l, --log <LEVEL>:设置要打印的最小日志级别。有效值是 'debug'、'info'、'warn'、'error' 和 'off'。

-t, --token <TOKEN>:机器人使用的授权令牌。除非同时传递 --no-cache,否则它将覆盖缓存中的内容。令牌必须具有 write:statuses 权限。

-n, --no-cache:禁用缓存,这意味着不会存储任何授权令牌。如果通过 --token 参数传递令牌,并且您不希望它覆盖当前存储的令牌,则非常有用。

配置

默认情况下,发明机器人将在以下位置查找配置

平台 位置
Linux $XDG_CONFIG_HOME/inventor_bot.toml
Windows %APPDATA%\inventor_bot.toml
MacOS $HOME/Library/Application Suport/inventor_bot.toml

配置相对较小,只有几个重要选项

选项 类型 描述
发明者 字符串列表 在“我简直不敢相信谁发明了什么”这个句子中,第一个空格可能填入的人。
实例 字符串 要发布到的Fedi实例
重复 空或整数 重复发布之间的延迟(分钟)。空(即省略选项)表示机器人将发布帖子然后应用程序退出。
可见性 "public""unlisted" 发布到fedi的帖子的可见性。

缓存

为了避免每次启动机器人时都需要登录,可以将登录时生成的授权令牌缓存起来。以下选项可用于缓存:

选项 类型 描述
缓存.启用 布尔型 是否启用缓存,默认关闭。
缓存.路径 字符串 存储缓存的路径。这应该是一个目录。Linux上的默认值是$XDG_CACHE_HOME/inventor_bot/
缓存.保护 布尔型 是否用密码加密缓存。如果启用缓存但未启用保护,则在启动机器人时将打印警告。

高级选项

这些选项对大多数人来说可能并不特别有用,但仍然存在。

选项 类型 描述
dry_run 布尔型 启用时,机器人实际上不会发布帖子,而是打印到终端。这主要存在以帮助调试。
端口 整数 等待授权时监听的端口
lang 字符串 请求授权页面显示的语言。目前这对机器人的输出没有影响。如果我不介意,我可能会更改这一点。
client 字符串 要将机器人注册到fedi实例下的客户端名称

示例

一个示例配置可能看起来像这样

instance = "tech.lgbt"
repeat = 360

inventors = [
	"Hatsune Miku",
	"Hatsune Miku",
	"Hatsune Miku",
	"Yassie",
	"Yassie",
	"Kasane Teto",
	"Inventor Bot",
	"your mum",
	"Luna",
	"jerma985",
	"the media",
]

[cache]
enable = true
protect = true

贡献

就像...打开一个PR或类似的东西,我不知道...

依赖项

23–36MB
~562K SLoC