#终端 #编译器 #Web

app shitpost

用于 Fediverse 的编译时 Markov 机器人创建器

3 个稳定版本

1.0.2 2024年5月27日

#336 in Web 编程

46 每月下载量

JSON 许可证

18KB
149 代码行

安装 | URL 格式 | 密钥生成 | 命令用法

Shitpost

GitHub Overengineered Crates.io

用于 Fediverse 的编译时 Markov 机器人创建器。

安装

由于机器人在编译时生成,您需要在构建时传递一些环境变量,以便机器人可以检索用于训练的帖子。

变量 必需 描述
$SHITPOST_IN true 用于从其中检索帖子以训练机器人的 URL。在非自己的帖子上进行训练通常被认为是一种“混账行为”。别那么混账。
$SHITPOST_KEY false 具有 read 权限的私有密钥。如果设置了此值,机器人将能够从非公开帖子中进行训练。密钥仅在训练机器人时使用,并存储在编译的二进制文件中的任何地方。
$SHITPOST_OUT false 发送新帖子的 URL。如果没有设置,则机器人将无法自动发送帖子。
$SHITPOST_SUFFIX false 附加到每个帖子的可选后缀,通常用于表示帖子是生成的。
$SHITPOST_VISIBILITY false 应用于所有帖子的可见性。帖子默认为公开。接受值:publicunlistedprivate
$SHITPOST_CW false 应用于所有帖子的内容警告。

[!NOTE] 编译可能需要很长时间,这是因为在每个请求中必须逐个发送帖子请求(每个请求检索 40 个帖子)。

如果您可以解决这个问题 https://akko.wtf/notice/AiENPbvKa2ieHWjrJQ,请告诉我,这样我就可以显著加快编译时间。

URL 格式

$SHITPOST_IN$SHITPOST_OUT 的 URL 应该是您使用的 Fediverse 软件的 API 端点,通常这些将是以下形式

输入:https://<实例>/api/v1/accounts/<用户名或 ID>/statuses

输出:https://<实例>/api/v1/statuses

[!NOTE] 发送帖子到的账户不是 URL 的一部分,由运行时提供的私有写入密钥确定。

密钥生成

shitpost-rs 需要一个API密钥才能自动将帖子发送到Fedi账户,如果您想基于这些帖子进行训练,还可以读取非私密帖子。

shitpost-rs 不提供任何认证服务。相反,您需要提供自己的。如果您还没有,可以从中生成一个

[!警告] 我与这些网站均无关联;您自己负责确保您信任它们,或者更准确地说,您信任这个。它们都是开源的,如果您认为有必要,请自行判断。

命令用法

在不带任何参数的情况下调用 shitpost 二进制文件将简单地将生成的帖子以HTML格式打印到终端。

为了自动发送帖子,必须提供作为参数的私钥,因为它存储在二进制文件中是不明智的。

您可以将其作为第一个参数传递,或者将 - 作为第一个参数传递,在这种情况下,它将从 stdin 读取密钥。

依赖项

~6–18MB
~251K SLoC