#命令行工具 #平台 #社交 #hello #提交 #链接 #reddit

app hello-rs

用于向各种社交平台提交链接的命令行工具

1 个不稳定版本

使用旧Rust 2015

0.1.0 2018年8月12日

#768身份验证

MIT/Apache

16KB
264

👋 hello

一个小型命令行工具,可以帮助内容创作者减少手动工作。

为什么?

社交媒体很复杂。一方面,你希望保持所有平台更新,并将你的创作分享给全世界。另一方面,维护所有这些平台会占用大量时间,从而影响实际内容创作。

你可能认为这不是一个重要的问题,我部分同意。但是,在工作和个人项目之间找到平衡是件困难的事情,每一个可以自动化的步骤都能节省一些时间,比如...嗯...朋友和家人?

你可能认为这是在作弊——你可能是对的。提交一篇文章是一种无灵魂的荣誉工作,应该手动完成,以示对观众的尊重(耶)。但你知道吗:你的大多数观众并不关心你在社交媒体上的链接,他们关心的是你的内容。

你可能认为有类似工具——这是真的。有Buffer,它可以做这个工具能做的所有事情,但做得更好。不过,目标是构建一个易于修改的免费工具。

因此我创建了hello

安装

cargo install hello-rs

用法

创建一个包含你的凭据的.env文件。请参考.env_dist以获取示例。

然后,运行hello -h以开始。

例如,要向Reddit提交链接,请运行

hello reddit subredditnamehere "Give up" "https://www.youtube.com/watch?v=DLzxrzFCyOs"

当前支持的平台

  • Reddit
  • Twitter
  • HackerNews
  • Slack
  • Patreon(由于API尚不支持发布,这是一个难题)
  • Discourse(由于只有管理员才能获取API密钥,这是一个难题)
  • 自己带来!

如何获取你的凭据

Reddit

在reddit.com/prefs/apps创建一个应用程序。之后,将你的凭据添加到.env中。然后你可以像这样运行hello

hello reddit yoursubredditname "I gave up" "https://www.youtube.com/watch?v=DLzxrzFCyOs"
Twitter

在你自己的 apps.twitter.com 上创建一个应用程序,并将凭据添加到.env文件中。首次运行hello时,您将通过OAuth获取应用程序的访问令牌。

然后运行以下命令发送推文

hello twitter "Hello! https://github.com/hello-rust/hello"

按照屏幕上的说明保存,以用于所有后续请求。

Slack

https://api.slack.com/apps 上创建一个应用。应用名称不重要。选择你想发送消息的工作空间。

点击“创建”。你将被重定向到配置页面,在那里点击“权限”。

查找“作用域”并选择以下之一

  • chat:write:user 如果你想让 hello 使用你的 Slack 用户名发送消息。
  • chat:write:bot 如果你想让 hello 使用应用用户名发送消息。

在顶部,你应该能看到你的 OAuth 令牌,你需要将其存储在 .env 文件中的 hello。如果你看不到你的令牌,你可能需要点击“请求批准”才能允许将应用安装到所选工作空间。

这就是你需要的一切。保存所有内容。

运行以下命令向 your-channel-name 发送消息

hello slack "your-channel-name" "Hello! https://github.com/hello-rust/hello"

HackerNews

由于 HackerNews 没有提交链接的 API,我们必须创造性地解决这个问题。我们使用神奇的 fantoccini 来控制一个 WebDriver 兼容的浏览器。

  1. 通过获取他们的发布页面上的最新构建来安装 geckodriver。
  2. 将你的 HN 凭证添加到 .env

示例

hello hn "Show HN: Hello, a CLI tool for managing social media" https://github.com/hello-rust/hello

贡献

这个工具是由 "Hello Rust!" 的优秀赞助商制作的,这是一个关于 Rust 编程语言的节目。在他们的帮助下,这个工具在双 MIT/Apache 许可证下向公众开放。

现在 成为赞助商,以支持未来的工作并发送支持其他平台的拉取请求。

依赖项

~25–36MB
~626K SLoC