跳到正文
cccskills
免费在 GitHub 公开

telegram-connect

Set up Telegram as a notification center for your Egregore — creates the group, links the bot, and stores the chat ID. Use for /telegram-connect, 'connect telegram', or 'set up telegram notifications'.

中文简介正在准备中。当前显示原文说明。

egregore-labs/egregore星标 293(GitHub 293 + cccskills 0)
集成工具Telegram

实测评分 未实测

查看安装方法

包含的文件(1)

  • SKILL.md4.4 KB

SKILL.md(原文)

安装前可以查看交给 AI 代理的指令内容。

Set up Telegram as a notification center for your Egregore.

Arguments: $ARGUMENTS (none expected)

When to invoke

Trigger phrases:

  • "set up telegram", "connect telegram", "add notifications", "telegram-connect"
  • "telegram group", "add telegram", "enable telegram", "link telegram"
  • "notification setup", "set up notifications"

Disambiguation:

  • "send a message on telegram" → NOT this — use the separate notification consent protocol in .claude/context/notification-consent.md
  • "announce something" → NOT this — use /announce

Step 1: Check current state

Check for existing telegram_chat_id — it lives in .egregore-state.json (preferred) or egregore.json (legacy):

jq -r '.telegram_chat_id // empty' .egregore-state.json 2>/dev/null || jq -r '.telegram_chat_id // empty' egregore.json 2>/dev/null

If already set, show:

Telegram is already connected.

  Chat ID: {chat_id}
  Group link: {group_link}

To update it, remove `telegram_chat_id` from .egregore-state.json and run `/telegram-connect` again.

And stop.

Step 2: Guide setup

Read the org slug from egregore.json:

jq -r '.slug // empty' egregore.json 2>/dev/null

If slug is set, generate the deep link with it: https://t.me/Egregore_clbot?startgroup=org_{slug} If slug is empty, fall back to: https://t.me/Egregore_clbot?startgroup=true

Show:

To set up Telegram notifications:

  1. Create a Telegram group for your team
  2. Add the bot: {deep_link}
  3. The bot will respond with your Chat ID — copy it
  4. Get the invite link: group name → Edit → Invite Links → Copy
  5. Paste both below

Then ask for the chat ID with a structured question when available and permitted in this session; otherwise ask in plain text:

Chat ID (from the bot's message in your group):

Validate: must be a negative number (e.g., -1001234567890) — reject anything else with "That doesn't look like a Telegram chat ID. It should be a negative number like -1001234567890."

Then ask for the group invite link with a structured question when available and permitted in this session; otherwise ask in plain text:

Group invite link:

Validate: must start with https://t.me/ — reject anything else with "That doesn't look like a Telegram invite link."

Step 3: Store and test

Read .egregore-state.json, add telegram_chat_id and telegram_group_link fields, write it back.

Important: Write to .egregore-state.json, NOT egregore.json. The state file is symlinked across worktrees so the config propagates everywhere. No branch, commit, or push is needed — it's an untracked local file.

Offer an optional test through the separate exact notification consent flow in .claude/context/notification-consent.md. Saving the Telegram configuration is not consent to send. Prepare without sending:

mkdir -p tmp
bash bin/notify.sh plan group "Telegram connected! 🎉" > tmp/telegram-connect-plan.json
jq -r '.plan_id, .digest' tmp/telegram-connect-plan.json

Use the printed values as {plan_id} and {digest}, respectively; quote placeholders in single quotes when you use them in a command, and write any single quote inside a value as '\''. Use them for the notification consent flow. Read the exact preview fields:

jq -r '.org, .recipient, .channels, .deliveries, .message' tmp/telegram-connect-plan.json

Show the organization, group/channel, and exact message in a dedicated Send / Edit / Cancel checkpoint. If approved and dispatched, show:

Telegram connected — test message sent to your group.

If cancelled, show Telegram connected — no test message sent. If planning or dispatch fails, show the error and suggest checking the chat ID.

Step 4: Telemetry

bash bin/telemetry.sh emit "command" '{"command":"telegram-connect"}' 2>/dev/null &

Rules

  • Never expose credentials in tool output
  • The bot username is @Egregore_clbot — NOT @egregore_bot
  • Only store the group invite link and chat ID, not bot tokens (those live on the API server)
  • Store in .egregore-state.json (symlinked, untracked) — NOT egregore.json (tracked, branch-specific)
  • No commit/push needed — state file is local and shared via symlinks

评价

还没有评价。欢迎分享你的使用感受。

评论

无需登录即可发表。欢迎分享使用感受、提问,或说明在哪些环境下无法运行。

还没有评论。来写第一条吧。

提交后会立即公开。请勿填写邮箱、电话等个人信息。URL 最多 2 个。

0 / 1000 字

此表单受 reCAPTCHA 保护,适用 Google 的隐私权政策和服务条款。

同一仓库的技能

activity

免费

Explicit Activity card only. Use when the user names /activity or directly asks to show, open, or render the Activity dashboard/card. Never use it to answer or synthesize what the team is focused on, busy with, prioritizing, or doing; analytical organizational questions use Search/Runtime QMD.

中文简介正在准备中。当前显示原文说明。

egregore-labs/egregore2932026年10月17日 更新

announce

免费

Draft, preview, and explicitly send an Egregore group announcement. Use for /announce, telling the team something, or notifying everyone—not a direct message or structured handoff.

中文简介正在准备中。当前显示原文说明。

egregore-labs/egregore2932026年10月17日 更新

archive

免费

Capture an effective prompting or steering technique as a reusable canonical pattern. Use when a prompt chain worked especially well; use /reflect for insight about the work and /note for a private thought.

中文简介正在准备中。当前显示原文说明。

egregore-labs/egregore2932026年10月17日 更新

branch

免费

Create a working branch from what you are about to work on. Use for /branch, or any request to start a new branch before making changes.

中文简介正在准备中。当前显示原文说明。

egregore-labs/egregore2932026年10月17日 更新

checkup

免费

Run diagnostics on an Egregore environment and render a health report, repairing safe local Runtime problems when possible. Use for /checkup, a health check, or when something is broken and the root cause is unclear.

中文简介正在准备中。当前显示原文说明。

egregore-labs/egregore2932026年10月17日 更新

commit

免费

Stage changes and create a commit with a properly formatted message. Use for /commit, or saving work locally — not sharing it (/push) or opening a pull request (/pr).

中文简介正在准备中。当前显示原文说明。

egregore-labs/egregore2932026年10月17日 更新

查看 egregore-labs 的全部技能

报告此技能的问题