botfather
Manage Telegram bots via @BotFather — create/delete bots, set name/description/about/commands/photo, toggle inline/groups/privacy, get/revoke tokens.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Manage Telegram bots via @BotFather — create/delete bots, set name/description/about/commands/photo, toggle inline/groups/privacy, get/revoke tokens.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
Build premium, TV-commercial-grade product highlight-reel promo videos from a handful of screen recordings. Music-only by default (optional VO-narrated cut), HyperFrames + paused GSAP, rendered and muxed locally. Ships a full kit — 16:9 + 9:16 films and matching key-art posters — in three swappable, production-proven themes. Use when the user asks for a product promo / launch film / hero reel / app commercial / "video like <reference>" / feature sizzle from screen captures, or says "highlight reel", "product TV commercial", "aurora theme", "minimal / notion-style promo". Three theme presets: AURORA (dark, glowing, chromatic, bold), MINIMAL (light Notion-white, floating cards, one accent, confident restraint), and LINE ART (cream paper, bold navy ink, one gold accent, hand-drawn framed panels). Ships a self-contained EnConvo scaffold (bundled logo, keycaps, SFX, music bed) that reproduces the launch film by dropping in new product clips.
Turn screen recordings into polished videos — marketing promos, user guides, product demos, and more. Goal-aware pipeline: detects user intent, selects strategy, recommends a plan, then executes. Full pipeline: intent detection → strategy selection → source analysis → storyboard planning → source prep → VO generation → frame-by-frame compositing → audio mixing → final encode. Supports animated presenters (AI animal/character with rembg cutout), per-word caption sync (pop, karaoke, static styles), multi-zoom animations, overlay dissolve transitions, time-mapped VO-to-source sync, CJK-aware captions, letterbox-aware cropping, and keypress + shortcut animation overlays with frame-aligned tick/tock SFX (canonical pattern for product demos that show hotkeys; ships proven SFX library at assets/sfx/). Use when: (1) user has screen recordings and wants a polished video — marketing, tutorial, demo, or changelog, (2) user says "make a promo video", "tutorial from this recording", "TikTok video", "marketing video", "use
Unified financial analysis & portfolio management toolkit. Routes to the right sub-system based on intent. Covers: daily market briefings, macro risk monitoring, sentiment scanning, strategy evolution & signals, options analysis, 禅動 chart analysis, COT smart-money reports, and full portfolio checking (structured notes, sell puts, FX options, accumulators) with XLSX report generation. Use when user says /financial-analysis, 'daily briefing', 'morning briefing', 'macro risk', 'liquidity check', 'sentiment scan', 'market sentiment', 'evolve strategy', 'create strategy', 'strategy signal', 'what does the strategy say', 'quick look', 'scan ticker', 'ride the rally', 'catch dips', 'play safe', '禅動', 'chandong', 'analyze ticker', 'fcn check', 'fcn status', 'check fcn', 'portfolio check', 'portfolio report', 'structured products', 'are my fcns safe', 'sell puts', 'accumulators', 'options analysis', 'cot report', 'smart money'.
Visible step-by-step walkthrough mentor for live browser/app tutoring across OptionCharts.io, TradingView, and EnConvo Settings. Use when the user wants to be walked through a page, chart, setup flow, tool, or concept viewport by viewport, including options/stock analysis with option chains, GEX, DEX, open interest, max pain, Greeks, volatility, P&L charts, TradingView charts, indicators, drawing tools, watchlists, screeners, alerts, layouts, paper trading, or EnConvo setup tasks such as global providers, AI models, credentials, agents, tools, skills, shortcuts, dictation, knowledgebase, account, and developer settings.
Conduct rigorous, McKinsey-style industry / sector research and produce a structured research report. Use when the user says /industry-research-mckinsey or asks to research an industry/sector/market/value chain, wants market sizing (TAM/SAM/SOM), competitive landscape, value-chain / industry-chain analysis, profit pools, demand-supply dynamics, industry drivers, or trend/outlook analysis, or asks for a 行业研究 / 产业研究 / 行业报告 / 赛道分析 / 投研报告 / industry report / sector deep-dive / market analysis. Also fires when the user wants to find supply bottlenecks, pricing-power chokepoints, or the source of excess returns (超额收益) along a value chain (the 产业投资人 / bottleneck lens). Bilingual: follows the user's language. Do NOT use for company-only financial modeling unrelated to an industry, or for pure document formatting.
Produce multi-act long-form Mandarin financial analysis videos for social-media upload (TikTok/Bilibili/YouTube/WeChat视频号/X). Given any input source (news article, earnings call, IPO filing, macro print, chart, tweet thread, raw data), build a broadcast-grade anchor-led explainer using a locked pipeline — script in tight 5字/second cadence, render anchor with xAI Grok Imagine Video i2v with baked Mandarin VO and locked identity, composite editorial GSAP overlay panels via HyperFrames in the right 40% of frame, concat acts, mix BGM, ship MP4. Use when the user gives a finance/markets/macro/equity/options/IPO/crypto source and asks for a viral video, a 解读视频, a 拆解视频, an explainer, a TG/SNS-ready clip, or simply says "make a video about this". Also use when the user says "finance-capital-markets-video-maker", "FCM video", "market video", "anchor video", or "Vivieen video".
| name | botfather |
| description | Manage Telegram bots via @BotFather — create/delete bots, set name/description/about/commands/photo, toggle inline/groups/privacy, get/revoke tokens. |
| version | 1.2.0 |
| author | zanearcher |
| category | tools |
Interact with Telegram's @BotFather programmatically via Telethon (user client API).
Trigger on: "botfather", "telegram bot settings", "create telegram bot", "bot name", "bot description", "bot commands", "bot token", "set bot", "delete bot"
After EVERY successful bot creation + agent connection, always do this before declaring done:
/start to the new bot via Telethon (the user's own account messages the bot)Newbies won't know they need to open Telegram and search for the bot. Don't leave them hanging. See the full steps at the bottom of this skill.
When setup is needed, ask the user which option they prefer:
AI opens my.telegram.org in a browser, user only handles login. AI scrapes the API credentials automatically.
Flow:
https://my.telegram.org/authapi_id and api_hash fields with values. Scrape them from the page.BotFather CLIbotfather_cliDesktopapi_id and api_hash from the resulting page~/.claude/skills/botfather/scripts/botfather.sh save-creds --api-id <ID> --api-hash <HASH> --skip-auth
~/.claude/skills/botfather/scripts/botfather.sh auth
Key Playwright selectors for my.telegram.org:
The site is simple HTML. Use snapshots to identify elements. Typical structure:
api_id, api_hash displayed (or create form if no app yet)User does everything themselves. Claude provides instructions.
~/.claude/skills/botfather/scripts/botfather.sh setup
This will:
| Want to... | Command |
|---|---|
| Check auth status | botfather.sh status |
| List all bots | botfather.sh list |
| Create a bot | botfather.sh create "Display Name" "username_bot" |
| Delete a bot | botfather.sh delete @mybot |
| Set bot name | botfather.sh set name @mybot "New Name" |
| Set bot description | botfather.sh set description @mybot "New description" |
| Set bot about | botfather.sh set about @mybot "About text" |
| Set bot commands | botfather.sh set commands @mybot "cmd1 - Desc 1\ncmd2 - Desc 2" |
| Set bot photo | botfather.sh set userpic @mybot /path/to/photo.jpg |
| Toggle inline mode | botfather.sh set inline @mybot "Enable" or "Disable" |
| Toggle group joining | botfather.sh set joingroups @mybot "Enable" or "Disable" |
| Toggle privacy | botfather.sh set privacy @mybot "Enable" or "Disable" |
| Get bot token | botfather.sh token @mybot |
| Revoke bot token | botfather.sh token @mybot --revoke |
| Get bot info | botfather.sh info @mybot |
| Send raw command | botfather.sh send "/mybots" |
All commands support --json for machine-readable output.
Full path: ~/.claude/skills/botfather/scripts/botfather.sh
botfather.sh setup # Interactive setup (manual option)
botfather.sh save-creds --api-id ID --api-hash HASH [--skip-auth] # Save creds (Playwright option)
botfather.sh auth # Telethon auth only (after save-creds --skip-auth)
botfather.sh status # Check auth status
botfather.sh list # List all bots
botfather.sh create NAME USERNAME # Create new bot
botfather.sh delete @bot # Delete a bot
botfather.sh set SETTING @bot VALUE # Change a setting
botfather.sh token @bot [--revoke] # Get or revoke token
botfather.sh info @bot # Get bot info
botfather.sh send "/command" [--follow-up TEXT] [--click] [--timeout N]
~/.botfather/session.session (no re-auth needed after first login)~/.botfather/venv/ on first run~/.claude/skills/botfather/
SKILL.md # This file
scripts/
botfather.sh # Shell wrapper (ensures venv + telethon)
botfather.py # Python CLI (Telethon + argparse)
~/.botfather/
config.json # api_id, api_hash
session.session # Telethon session (auto-created)
venv/ # Python venv with telethon
Always do this after successfully creating a bot AND connecting it to an agent.
Newbies won't know where to find the bot or that they need to send /start first. Close the loop for them:
/start to the new bot via TelethonTelethon can message any Telegram entity, not just @BotFather. Use the Python venv directly:
~/.botfather/venv/bin/python3 -c "
import asyncio
from telethon import TelegramClient
import json, os
cfg = json.load(open(os.path.expanduser('~/.botfather/config.json')))
async def main():
async with TelegramClient(os.path.expanduser('~/.botfather/session.session'), cfg['api_id'], cfg['api_hash']) as client:
await client.send_message('@<bot_username>', '/start')
print('Sent /start')
asyncio.run(main())
"
Replace <bot_username> with the actual username (without @ in the string, or with — Telethon handles both).
After sending /start, give the user this message:
Your bot is live! I just sent it a
/startmessage — you should see a reply in your Telegram now. Open Telegram and go to: t.me/<bot_username> Or search for @<bot_username> in the Telegram search bar.
This is the difference between "setup complete" and "user actually believes it works."
@ prefix (e.g., @mybot)./setcommands, format value as "cmd1 - Description\ncmd2 - Description".send subcommand can send any raw BotFather command for operations not covered by dedicated subcommands.