ccxt
TRANSLATED CONTENT: --- name: ccxt description: CCXT cryptocurrency trading library. Use for cryptocurrency exchange APIs, trading, market data, order…
TRANSLATED CONTENT: --- name: telegram-dev description: Telegram 生态开发全栈指南 - 涵盖 Bot API、Mini Apps (Web Apps)、MTProto 客户端开发。包括消息处理、支付、内联模式、Webhook、认证、存储、传感器 API 等完整开发资源。 ---
$ npx -y skills add 2025emma/vibe-coding-cn --skill telegram-dev --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/telegram-devContext preview
The summary Claude sees to decide when to auto-load this skill.
TRANSLATED CONTENT: --- name: telegram-dev description: Telegram 生态开发全栈指南 - 涵盖 Bot API、Mini Apps (Web Apps)、MTProto 客户端开发。包括消息处理、支付、内联模式、Webhook、认证、存储、传感器 API 等完整开发资源。 ---
TRANSLATED CONTENT: --- name: telegram-dev description: Telegram 生态开发全栈指南 - 涵盖 Bot API、Mini Apps (Web Apps)、MTProto 客户端开发。包括消息处理、支付、内联模式、Webhook、认证、存储、传感器 API 等完整开发资源。 ---
全面的 Telegram 开发指南,涵盖 Bot 开发、Mini Apps (Web Apps)、客户端开发的完整技术栈。
当需要以下帮助时使用此技能:
1. **Bot API** - 创建机器人程序
2. **Mini Apps API** (Web Apps) - 创建 Web 应用
3. **Telegram API & TDLib** - 创建客户端
**API 端点:**
https://api.telegram.org/bot<TOKEN>/METHOD_NAME
**获取 Bot Token:** 1. 与 @BotFather 对话 2. 发送 `/newbot` 3. 按提示设置名称 4. 获取 token
**第一个 Bot (Python):**
import requests
BOT_TOKEN = "your_bot_token_here"
API_URL = f"https://api.telegram.org/bot{BOT_TOKEN}"
# 发送消息
def send_message(chat_id, text):
url = f"{API_URL}/sendMessage"
data = {"chat_id": chat_id, "text": text}
return requests.post(url, json=data)
# 获取更新(长轮询)
def get_updates(offset=None):
url = f"{API_URL}/getUpdates"
params = {"offset": offset, "timeout": 30}
return requests.get(url, params=params).json()
# 主循环
offset = None
while True:
updates = get_updates(offset)
for update in updates.get("result", []):
chat_id = update["message"]["chat"]["id"]
text = update["message"]["text"]
# 回复消息
send_message(chat_id, f"你说了:{text}")
offset = update["update_id"] + 1**更新管理:**
**消息操作:**
**交互元素:**
**文件操作:**
**支付功能:**
**设置 Webhook:**
import requests
BOT_TOKEN = "your_token"
WEBHOOK_URL = "https://yourdomain.com/webhook"
requests.post(
f"https://api.telegram.org/bot{BOT_TOKEN}/setWebhook",
json={"url": WEBHOOK_URL}
)**Flask Webhook 示例:**
from flask import Flask, request
import requests
app = Flask(__name__)
BOT_TOKEN = "your_token"
@app.route('/webhook', methods=['POST'])
def webhook():
update = request.get_json()
chat_id = update["message"]["chat"]["id"]
text = update["message"]["text"]
# 发送回复
requests.post(
f"https://api.telegram.org/bot{BOT_TOKEN}/sendMessage",
json={"chat_id": chat_id, "text": f"收到: {text}"}
)
return "OK"
if __name__ == '__main__':
app.run(port=5000)**Webhook 要求:**
**创建内联键盘:**
def send_inline_keyboard(chat_id):
keyboard = {
"inline_keyboard": [
[
{"text": "按钮 1", "callback_data": "btn1"},
{"text": "按钮 2", "callback_data": "btn2"}
],
[
{"text": "打开链接", "url": "https://example.com"}
]
]
}
requests.post(
f"{API_URL}/sendMessage",
json={
"chat_id": chat_id,
"text": "选择一个选项:",
"reply_markup": keyboard
}
)**处理回调:**
def handle_callback_query(callback_query):
query_id = callback_query["id"]
data = callback_query["data"]
chat_id = callback_query["message"]["chat"]["id"]
# 响应回调
requests.post(
f"{API_URL}/answerCallbackQuery",
json={"callback_query_id": query_id, "text": f"你点击了 {data}"}
)
# 更新消息
requests.post(
f"{API_URL}/editMessageText",
json={
"chat_id": chat_id,
"message_id": callback_query["message"]["message_id"],
"text": f"你选择了:{data}"
}
)**配置内联模式:** 与 @BotFather 对话,发送 `/setinline`
**处理内联查询:**
def handle_inline_query(inline_query):
query_id = inline_query["id"]
query_text = inline_query["query"]
# 创建结果
results = [
{
"type": "article",
"id": "1",
"title": "结果 1",
"input_message_content": {
"message_text": f"你搜索了:{query_text}"
}
}
]
requests.post(
f"{API_URL}/answerInlineQuery",
json={"inline_query_id": query_id, "results": results}
)**HTML 模板:**
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<script src="https://telegram.org/js/telegram-web-app.js"></script>
<title>My Mini App</title>
</head>
<body>
<h1>Telegram Mini App</h1>
<button id="mainBtn">主按钮</button>
<script>
// 获取 Telegram WebApp 对象
const tg = window.Telegram.WebApp;
// 通知 Telegram 应用已准备好
tg.ready();
// 展开到全屏
tg.expand();
// 显示用户信息
const user = tg.initDataUnsafe?.user;
if (user) {
console.log("用户名:", user.first_name);
console.log("用户ID:", user.id);
}
// 配置主按钮
tg.MainButton.text = "提交";
tg.MainButton.show();
tg.MainButton.onClick(() => {
// 发送数据到 Bot
tg.sendData(JSON.st一个通过与 AI 结对编程,将想法变为现实的终极工作站 <!-- 徽章区域 (BADGES) --> 本仓库的 AI 解读链接:zread.ai/tukuaiai/vibe-coding-cn
Repo: 2025emma/vibe-coding-cn
TRANSLATED CONTENT: --- name: ccxt description: CCXT cryptocurrency trading library. Use for cryptocurrency exchange APIs, trading, market data, order…
TRANSLATED CONTENT: --- name: claude-code-guide description: Claude Code 高级开发指南 - 全面的中文教程,涵盖工具使用、REPL 环境、开发工作流、MCP 集成、高级模式和最佳实践。适合学习 Claude Code 的高级功能和开发技巧。 ---
TRANSLATED CONTENT: --- name: claude-cookbooks description: Claude AI cookbooks - code examples, tutorials, and best practices for using Claude API. Use when…
TRANSLATED CONTENT: --- name: claude-skills description: "Claude Skills meta-skill: extract domain material (docs/APIs/code/specs) into a reusable Skill…
TRANSLATED CONTENT: --- name: coingecko description: CoinGecko API documentation - cryptocurrency market data API, price feeds, market cap, volume, historical…
TRANSLATED CONTENT: --- name: cryptofeed description: Cryptofeed - Real-time cryptocurrency market data feeds from 40+ exchanges. WebSocket streaming,…