一个用于发送 Claude Code 事件通知到 Telegram 的 Shell 脚本,让你随时掌握任务完成、权限请求和输入等待的状态。
- 任务完成通知 - 当 Claude Code 完成任务时收到通知,包含会话时长和内存使用情况
- 权限请求提醒 - 当 Claude Code 需要授权时立即收到提醒
- 输入等待提示 - 当 Claude Code 等待你输入时及时知晓
- 富文本消息格式 - 清晰格式化的消息,包含项目名、时间戳和会话信息
- Telegram Bot Token(通过 @BotFather 获取)
- 你的 Telegram Chat ID
jq命令行 JSON 处理工具- 已安装 Claude Code CLI
- 打开 Telegram,搜索 @BotFather
- 发送
/newbot并按照提示操作 - 保存你收到的 Bot Token(格式:
123456789:ABCdefGHIjklMNOpqrsTUVwxyz)
- 与你的新 Bot 开始对话
- 向 Bot 发送任意消息
- 访问:
https://api.telegram.org/bot<你的BOT_TOKEN>/getUpdates - 在返回结果中找到
"chat":{"id":123456789}- 这就是你的 Chat ID
将以下内容添加到你的 shell 配置文件(~/.zshrc 或 ~/.bashrc):
export TELEGRAM_BOT_TOKEN="你的_bot_token"
export TELEGRAM_CHAT_ID="你的_chat_id"然后重新加载 shell:
source ~/.zshrc # 或 source ~/.bashrc方式 A:从 GitHub Releases 下载(推荐)
# 下载最新 release 版本
curl -L -o ~/telegram_notify.sh https://github.com/cyenxchen/telegram-notify/releases/latest/download/telegram_notify.sh
# 添加执行权限
chmod +x ~/telegram_notify.sh方式 B:从 master 分支下载
# 从 master 分支下载
curl -o ~/telegram_notify.sh https://raw.githubusercontent.com/cyenxchen/telegram-notify/master/telegram_notify.sh
# 添加执行权限
chmod +x ~/telegram_notify.sh将以下内容添加到 Claude Code 配置文件(~/.claude/settings.json):
{
"hooks": {
"Stop": [
{
"hooks": [
{
"type": "command",
"command": "~/telegram_notify.sh"
}
]
}
],
"Notification": [
{
"hooks": [
{
"type": "command",
"command": "~/telegram_notify.sh"
}
]
}
]
}
}✅ Claude Code 任务完成
📁 项目: my-project
⏱️ 持续: 5分32秒
💾 内存: 256 MB
⏰ 完成: 2024-01-15 14:30:22
⚠️ Claude Code 需要授权
📁 项目: my-project
💬 消息: 需要你的授权
🆔 会话: a1b2c3d4
⏰ 时间: 2024-01-15 14:30:22
⏳ Claude Code 等待输入
📁 项目: my-project
💬 消息: 等待你的输入
🆔 会话: a1b2c3d4
⏰ 时间: 2024-01-15 14:30:22
没有收到通知?
- 验证环境变量已设置:
echo $TELEGRAM_BOT_TOKEN - 检查
jq是否已安装:which jq - 手动测试脚本:
echo '{"hook_event_name":"Stop"}' | ~/telegram_notify.sh
找不到脚本?
- 确保
settings.json中的脚本路径与实际位置一致 - 使用绝对路径(如
/Users/username/telegram_notify.sh)
MIT License