1 个不稳定版本
使用旧Rust 2015
0.1.0 | 2018年8月12日 |
---|
#768 在 身份验证
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"
当前支持的平台
- HackerNews
- Slack
- Patreon(由于API尚不支持发布,这是一个难题)
- Discourse(由于只有管理员才能获取API密钥,这是一个难题)
- 自己带来!
如何获取你的凭据
在reddit.com/prefs/apps创建一个应用程序。之后,将你的凭据添加到.env
中。然后你可以像这样运行hello
hello reddit yoursubredditname "I gave up" "https://www.youtube.com/watch?v=DLzxrzFCyOs"
在你自己的 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 兼容的浏览器。
- 通过获取他们的发布页面上的最新构建来安装 geckodriver。
- 将你的 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