twitter-dance

# Twitter Dance - Skill 定义

Safety Notice

This listing is from the official public ClawHub registry. Review SKILL.md and referenced scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "twitter-dance" with this command: npx skills add Evan-y25/twitter-dance

Twitter Dance - Skill 定义

自动发推文 Skill(基于 apidance.pro API)

基本信息

  • 名称:twitter-dance
  • 版本:1.0.0
  • 类型:社媒运营自动化
  • 推荐用途:日常推文发布、内容分发
  • 最佳实践:与 Kimi AI 结合使用

简介

Twitter Dance 是一个完全自动化的推特发布和管理系统,基于 apidance.pro 官方 API。

核心特性:

  • 🤖 AI 推文生成(Kimi)
  • ⚡ 完全自动化发推
  • 💰 超低成本($0.05/月)
  • 📊 完整日志和统计
  • 🔒 安全可靠(无浏览器自动化)
  • 📱 账户统计和分析
  • 🔔 通知管理
  • 💬 自动回复
  • 📈 互动数据分析
  • ⏰ 互动周期优化

安装

# 1. 获取 API Key
# apidance.pro: https://t.me/shingle
# TWITTER_AUTH_TOKEN: X.com Settings → Developers
# KIMI_API_KEY: https://platform.moonshot.cn

# 2. 配置环境变量
export APIDANCE_API_KEY="..."
export TWITTER_AUTH_TOKEN="..."
export KIMI_API_KEY="..."

# 3. 进入 Skill 目录
cd /Users/chao/.openclaw/workspace/skills/twitter-dance

快速开始

生成推文(无需发布)

node scripts/auto-tweet.js --draft-only

自动发推

node scripts/auto-tweet.js

批量发推

node scripts/auto-tweet.js --count=5

测试 GraphQL API

node scripts/test-tweet-graphql.js "你的推文内容"

高级功能

使用 TwitterDanceEnhanced 类获得更多强大功能:

账户统计

node scripts/test-advanced-features.js stats

获取粉丝数、推文数、点赞数等详细统计

通知管理

node scripts/test-advanced-features.js notifications

获取最新的互动通知(提及、点赞、转发)

自动回复

node scripts/test-advanced-features.js reply <tweetId> <replyText>

自动回复特定推文

推文分析

node scripts/test-advanced-features.js timeline-analytics

分析时间线,找出最受欢迎的推文

互动周期分析

node scripts/test-advanced-features.js engagement-hours

找出最佳发推时间

完整功能菜单

node scripts/test-advanced-features.js

详见: ADVANCED_FEATURES.md

API 参考

TwitterDanceAPIClient

初始化

const TwitterDanceAPIClient = require('./src/twitter-api-client');

const client = new TwitterDanceAPIClient({
  apiKey: process.env.APIDANCE_API_KEY,
  authToken: process.env.TWITTER_AUTH_TOKEN,
  verbose: true
});

方法

tweet(text, options)

发布推文

参数:

  • text (string): 推文内容(≤280 字)
  • options (object):
    • media (array): 媒体 URL 列表(可选)

返回:

{
  success: true,
  tweetId: "1234567890",
  timestamp: "2026-03-11T13:27:00Z",
  text: "推文内容",
  length: 150
}

示例:

const result = await client.tweet("Hello Twitter! 🚀");
console.log(result.tweetId);
likeTweet(tweetId)

点赞推文

参数:

  • tweetId (string): 推文 ID

示例:

await client.likeTweet("1234567890");
retweet(tweetId)

转发推文

示例:

await client.retweet("1234567890");
getTweet(tweetId)

查询推文详情

返回:

{
  success: true,
  tweet: { /* 推文数据 */ }
}
getUser(username)

查询用户信息

示例:

const user = await client.getUser("elonmusk");
console.log(user.followers_count);
searchTweets(query, options)

搜索推文

参数:

  • query (string): 搜索关键词
  • options (object):
    • count (number): 返回数量,默认 10
    • lang (string): 语言代码,默认 'en'

示例:

const results = await client.searchTweets("OpenClaw", { count: 20 });
getTimeline(options)

获取 Timeline

参数:

  • options (object):
    • count (number): 推文数量,默认 20
    • excludeReplies (boolean): 排除回复
    • includeRetweets (boolean): 包含转发,默认 true
checkQuota()

检查 API 配额

返回:

{
  success: true,
  remaining: 9500,
  total: 10000,
  used: 500
}

TweetGenerator

初始化

const TweetGenerator = require('./src/tweet-generator');

const generator = new TweetGenerator({
  kimiApiKey: process.env.KIMI_API_KEY,
  verbose: true
});

方法

generate(options)

生成单条推文

参数:

  • options (object):
    • topic (object): 自定义话题(可选)

返回:

{
  text: "推文内容...",
  source: "kimi" | "template",
  topic: "Crypto & Web3",
  length: 180,
  keywords: ["Bitcoin", "Ethereum"]
}

示例:

const tweet = await generator.generate();
console.log(tweet.text);
generateBatch(count, options)

批量生成推文

示例:

const tweets = await generator.generateBatch(5);
tweets.forEach((t, i) => {
  console.log(`${i + 1}. ${t.text}`);
});

工作流示例

场景 1:日常自动发推

# 设置 Cron 任务
0 9 * * * cd /path/to/twitter-dance && node scripts/auto-tweet.js >> logs/cron.log 2>&1

场景 2:批量发推(一次 5 条)

node scripts/auto-tweet.js --count=5

场景 3:仅生成草稿供审核

node scripts/auto-tweet.js --draft-only > tweets-to-review.txt

配置

环境变量

# 必需
APIDANCE_API_KEY=your-api-key
TWITTER_AUTH_TOKEN=your-token

# 可选(推荐)
KIMI_API_KEY=sk-xxx

# 日志
VERBOSE=true  # 详细日志

推文主题(自定义)

编辑 src/tweet-generator.js 中的 topics 数组:

this.topics = [
  {
    name: 'Your Topic',
    keywords: ['keyword1', 'keyword2'],
    tone: 'Your tone'
  },
  // ...
];

成本分析

每月费用(基于 30 条推文)

项目用量单价总价
apidance.pro API30 条$0.008/条$0.24
Kimi API(可选)30 条~$0.001/条$0.03
总计30 条-~$0.27

与竞品对比

  • Zapier 推特集成:$15-25/月
  • Make 推特场景:$10-20/月
  • Buffer Pro:$15+/月
  • Twitter Dance:$0.27/月(节省 99%)

故障排除

错误:缺少 APIDANCE_API_KEY

解决:https://t.me/shingle 购买 API Key

错误:缺少 TWITTER_AUTH_TOKEN

解决: 从 X.com Settings → Developers 获取 Token

错误:推文过长

解决: Kimi 会自动截断;本地模板已验证都 <280 字

错误:API 配额已用尽

解决: 查看配额 → 购买更多或等待重置

最佳实践

推荐

  • 结合 Kimi API 提高推文质量
  • 使用 --draft-only 先预览
  • 定期检查日志分析效果
  • 每天 1-3 条推文(高效且经济)

不推荐

  • 一次发超过 10 条推文
  • 禁用 Kimi 使用纯模板
  • 完全无人审核的完全自动化

TwitterDanceEnhanced(高级 API)

初始化

const TwitterDanceEnhanced = require('./src/twitter-api-enhanced');

const client = new TwitterDanceEnhanced({
  apiKey: process.env.APIDANCE_API_KEY,
  authToken: process.env.TWITTER_AUTH_TOKEN,
  verbose: true
});

核心方法

方法功能返回
getAccountStats()获取账户统计粉丝、推文、点赞等数据
getNotifications(options)获取通知最新互动列表
autoReply(tweetId, text, options)自动回复回复成功信息
getTweetMetrics(tweetId)获取推文指标点赞、转发、浏览数
getTimelineAnalytics(options)时间线分析推文统计和最佳推文
getEngagementByHour()互动周期分析每小时的互动数据
bulkLikeTweets(tweetIds)批量点赞操作结果
bulkRetweet(tweetIds)批量转发操作结果
getConversationThread(tweetId)获取对话线程推文及其回复

使用示例

// 获取账户统计
const stats = await client.getAccountStats();
console.log(`粉丝: ${stats.stats.followers}`);

// 自动回复
await client.autoReply('123456', '感谢评论!');

// 分析最佳发推时间
const best = await client.getEngagementByHour();
console.log(`最佳时间: ${best.bestHour}:00 UTC`);

// 批量点赞
await client.bulkLikeTweets(['123', '456', '789']);

🤖 自动回复评论功能

快速回复特定推文

# 查看将要回复的内容(模拟模式)
node scripts/quick-reply.js --tweet-id=2031936903918883025 --replies=10 --dry-run

# 实际发送回复
node scripts/quick-reply.js --tweet-id=2031936903918883025 --replies=10

功能特性:

  • AI 智能回复 - 根据评论内容自动选择合适的回复模板
  • 模拟模式 - 使用 --dry-run 预览回复内容
  • 速率限制保护 - 自动延迟避免 Twitter 限流
  • 批量处理 - 一次处理多条评论

命令行选项:

选项说明例子
--tweet-id=<ID>推文 ID(必需)--tweet-id=2031936903918883025
--replies=N获取最多 N 条评论--replies=5
--dry-run模拟模式,不实际发送--dry-run
--no-reply仅显示评论,不回复--no-reply

自动回复最近推文

# 获取最近 3 条推文,模拟回复它们的评论
node scripts/auto-reply-comments.js --tweets=3 --replies=10 --dry-run

# 实际回复
node scripts/auto-reply-comments.js --tweets=3 --replies=10

如何获取推文 ID

推文 URL 格式: https://twitter.com/username/status/<推文ID>

例如: https://twitter.com/elonmusk/status/1234567890123456789

  • 推文 ID = 1234567890123456789

AI 回复匹配示例

评论类型评论例子自动回复
感谢"谢谢你的分享!""感谢你的反馈!😊"
询问"这怎么用?""很好的问题,让我们继续讨论!"
同意"我也这样认为""完全同意!👏"
鼓励"继续加油!""继续加油!🚀"

详细使用指南

👉 参考 AUTO-REPLY-GUIDE.md 获取完整说明

相关文档

许可证

MIT


版本更新日志:

v1.0.0(2026-03-11)

  • ✅ 初始版本发布
  • ✅ apidance.pro API 集成
  • ✅ Kimi AI 推文生成
  • ✅ 批量发推支持
  • ✅ 完整日志和统计

规划中(v1.1.0+)

  • 📷 媒体上传支持(图片、视频)
  • 📊 推文效果分析仪表板
  • 🎯 情绪分析和自动语气调整
  • 🔄 高级定时和队列管理

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

baidu-search

Comprehensive search API integration for Baidu Qianfan Web Search. Use when Claude needs to perform web searches using Baidu Qianfan's enterprise search API....

Registry SourceRecently Updated
General

Self Memory Manager

管理 Claude 的记忆和工作流程优化。包括:(1) Context 使用管理 (2) 重要信息存档 (3) 定时总结 (4) 工作文件夹维护 用于:context 超过 80%、重要信息需要记录、每日总结、清理旧 session

Registry SourceRecently Updated
General

Seedance Video

Generate AI videos using ByteDance Seedance. Use when the user wants to: (1) generate videos from text prompts, (2) generate videos from images (first frame,...

Registry SourceRecently Updated