#ios #android #notifications #send-notifications #ifttt #imgur

nustify

使用 IFTTT 的 Webhook 发送 iOS/Android 通知

2 个版本

0.2.2 2021 年 4 月 26 日
0.2.1 2021 年 3 月 13 日

#1220网页编程


用于 test-notifier

MIT 许可证

23KB
137 代码行

Nustify

crates.io Documentation

💬 使用 IFTTT 的 Webhook 发送 iOS/Android 通知 💬

nustify = "0.2"

IFTTT

来自维基百科

IFTTT 是一个免费的基于网络的免费服务,用于创建简单的条件语句链,称为小程序。小程序是由其他网络服务(如 Gmail、Facebook、Telegram、Instagram 或 Pinterest)发生的变更触发的。

IFTTT 提供了数百个触发器,但 Notigo 使用的是 Webhook 触发器(也称为 Maker Event)。

通过创建一个在 Webhook 触发时向您的设备发送丰富通知的 IFTTT 小程序,我们可以创建一个简单的包装器并在我们的 Rust 代码中使用它。

IFTTT 账户和移动应用程序

为了从 IFTTT 接收通知,您必须创建一个 IFTTT 账户 并下载 iOS 应用或 Android 应用。

创建 IFTTT 小程序

接下来,您需要在您的 IFTTT 账户中创建相应的小程序。使用 Webhook 作为触发器的小程序不能像其他小程序一样分享,因此您需要手动创建它

  • 访问小程序 创建 页面;
  • 搜索 webhook 并选择 Receive a web request 触发器;
  • 指定事件名称
  • 点击 Create trigger
  • 对于 that 动作,搜索 notification 并选择 Send a rich notification from the IFTTT app 动作;
  • 使用 Add ingredient 按钮添加 value1 作为标题和 value2 作为消息。使用 value3 作为链接或图片 URL。

小程序的最终配置如下

Screen Shot 2021-04-26 at 00 54 32 Screen Shot 2021-04-26 at 00 55 54

获取 Webhook 密钥

在开始使用小程序之前,最后一步是获取您的 Webhook 密钥。前往 Webhook 设置页面,然后在右上角点击 Documentation 按钮。

现在您已经创建了这个小程序并获取了您的Webhook密钥,您可以使用库或示例命令。

使用库

以下是一个简单示例,发送一个标题为“来自Rust的问候”且消息为“Rusty内容”的通知。

use std::error::Error;
use nustify::notification::Builder;

#[tokio::main(flavor = "current_thread")]
async fn main() -> Result<(), Box<dyn Error>> {
    let key = "MY_IFTTT_KEY";
    let notification = Builder::new("Rusty content".to_owned())
        .title("Hello from Rust".to_owned())
        .build();
    nustify::send(&notification, "nustify", &key).await?;
    Ok(())
}

发送图片

如果您想将图片添加到通知中,您需要传递其链接而不是图片数据本身。此库还提供了一个Imgur API包装器,允许您首先将图片上传到Imgur。

Golang版本

我还发布了这个库和命令的Golang版本。库和命令

享受简单的通知吧!

依赖项

~3–16MB
~233K SLoC