2 个版本
0.3.5 | 2021 年 6 月 18 日 |
---|---|
0.3.3 | 2021 年 6 月 18 日 |
#20 in #send-notifications
17KB
146 行
ssup!
ssup
是一个简单的跨平台工具,可以通过 cli 向本地系统或 Telegram 发送通知。它还可以在长时间运行的(或其他)命令完成后发出警报。可以通过在 ssup 命令的末尾指定命令或通过将 ssup 与其他命令链接来实现。有关更多示例,请参阅下面的 CLI 选项。
示例
# Send a notification to local system
$ ssup -m "Hello world!"
# Send a notification to telegram
$ export SSUP_TG_BOT_TOKEN=<Your telegram bot token>
$ ssup -m "Hello world!" -d telegram -c <your-telegram-chat-id>
# Run a custom command and send notification after it finishes. Advantage of this is that ssup will also report whether command was successful or not.
$ ssup -m "Hello world!" sleep 5
# Alternate ways to run a custom command and send notification after it finishes
$ sleep 5; ssup -m "Hello world!" # Always send notification
$ sleep 5 && ssup -m "Hello world!" # Send notification only on success
$ sleep 5 || ssup -m "Hello world!" # Send notification only on failure
当前支持的平台
- macOS
- Linux
- Windows
当前支持的架构
- x86_64
- aarch64 (例如,Raspberry Pi 4b,Apple M1)
当前支持的通告目标
- 本地(即系统通知,这由伟大的
notifica
crate 提供) - telegram
CLI 选项
█████ █████ █████ ████ ████████
███░░ ███░░ ░░███ ░███ ░░███░░███
░░░█████ ░█████ ░███ ░███ ░███ ░███
░░░░███░░░░███ ░███ ░███ ░███ ░███
██████ ██████ ░░████████ ░███████
░░░░░░░ ░░░░░ ░░░░░░░░ ░███░░░
░███
█████
░░░░░
ssup 0.3.5 - Shantanu Goel <shantanu+ssup@shantanugoel.com>
A utility to send notifications to local system or telegram
USAGE:
ssup [OPTIONS] --message <message> [command]
ARGS:
<command> Specify a command/executable to run and notify when it finishes
FLAGS:
-h, --help Prints help information
-V, --version Prints version information
OPTIONS:
-t, --title <title> Optional title for the notification [default: Ssup!]
-m, --message <message> Notify with this message
-d, --destination <destination> Choose where to send the notification to [default: local] [possible values: local, telegram]
--chat-id <chat-id> {Telegram specific option} Chat id to which notification should be sent
--bot-token <bot-token> {Telegram specific option } Optionally specify Telegram bot token in command instead of reading from env
Telegram 使用
- 创建一个机器人并获取一个机器人令牌,按照 这些说明 进行操作
- 从您想要接收通知的 Telegram 账户发送一条消息到您的机器人
- 运行以下命令获取聊天 ID
curlhttps://api.telegram.org/bot$TELEGRAM_BOT_TOKEN/getUpdates | jq.message.chat.id
- 将
$TELEGRAM_BOT_TOKEN
替换为步骤 1 中获取的令牌值 - 如果您还没有安装
curl
和jq
,您可能需要安装它们- 或者,您可以在浏览器中输入此 URL
https://api.telegram.org/bot$TELEGRAM_BOT_TOKEN/getUpdates
并搜索id:
以获取值
- 或者,您可以在浏览器中输入此 URL
- 请使用上述 CLI 选项中提供的机器人令牌和聊天 ID 值。
构建
对于 Linux 平台,此 crate 对 libdbus 有本地依赖,因此在尝试编译之前,您需要安装相应的包(例如,在 debian/ubuntu 上安装 libdbus-1-dev)。
TODO
- 添加对 32 位 (aarch32 和 i686/386) Linux 构建的支持
- 添加自定义 webhook 目标
- 添加测试
- ?
依赖
~8–25MB
~351K SLoC