Bilibili Auto Transcript
支持B站视频一键转录与收藏夹自动扫描,三级降级转录+AI摘要生成。
下载 1,135
通过统一API实现跨平台社交内容自动发布,支持Twitter、LinkedIn等主流平台。
openclaw skills install @phy041/phy-social-post命令、参数、文件名以原文为准
通过统一的社交发布 API 向多个社交平台发布内容,并支持自动提供方回退。
位置: [your-project-root]/social-posting-api/
环境配置:
cd [your-project-root]/social-posting-api
source venv/bin/activate**.env 文件中需要的环境变量:**
POSTFORME_API_KEY - 主要提供方(PostForMe)LATE_API_KEY - 备用提供方(LATE)from social_posting import SocialPostingClient
from dotenv import load_dotenv
load_dotenv()
client = SocialPostingClient()
print("提供方:", client.available_providers)
for acc in client.get_accounts():
print(f" {acc.platform}: {acc.username}")result = client.post(
content="你的发布内容在这里",
platforms=["twitter", "linkedin"]
)
print(f"成功: {result.success}, 提供方: {result.provider}")result = client.post(
content="看看这些照片!",
platforms=["instagram"],
media_urls=[
"https://example.com/image1.jpg",
"https://example.com/image2.jpg"
]
)from datetime import datetime
result = client.post(
content="定时发布的帖子",
platforms=["linkedin"],
scheduled_for=datetime(2025, 1, 15, 9, 0) # UTC 时间
)| 平台 | 仅文本 | 带媒体 | 说明 |
|---|---|---|---|
| Twitter/X | ✅ | ✅ | 最大 280 字符 |
| ✅ | ✅ | 适合专业内容 | |
| ❌ | ✅ | 必须包含媒体 | |
| ✅ | ✅ | ||
| TikTok | ❌ | ✅ | 推荐视频内容 |
| Threads | ✅ | ✅ | |
| Bluesky | ✅ | ✅ | |
| ❌ | ✅ | 需要媒体 | |
| YouTube | ❌ | ✅ | 仅支持视频 |
#!/usr/bin/env python
"""向社交媒体平台发布内容。"""
import sys
sys.path.insert(0, '[your-project-root]/social-posting-api')
from social_posting import SocialPostingClient
from dotenv import load_dotenv
load_dotenv('[your-project-root]/social-posting-api/.env')
def post_to_social(content: str, platforms: list, media_urls: list = None):
"""向指定平台发布内容。"""
client = SocialPostingClient()
# 检查哪些平台已连接
accounts = client.get_accounts()
connected = [a.platform for a in accounts]
# 过滤为仅已连接的平台
valid_platforms = [p for p in platforms if p in connected]
if not valid_platforms:
print(f"未连接以下平台: {platforms}")
print(f"已连接: {connected}")
return None
# 执行发布
result = client.post(
content=content,
platforms=valid_platforms,
media_urls=media_urls
)
if result.success:
print(f"通过 {result.provider} 发布")
print(f" 发布 ID: {result.post_id}")
else:
print(f"失败: {result.error}")
return result
# 示例用法
if __name__ == "__main__":
post_to_social(
content="来自社交发布 API 的问候!",
platforms=["instagram"],
media_urls=["https://images.unsplash.com/photo-1506905925346-21bda4d32df4?w=1080"]
)始终先确认已连接的账户:
cd [your-project-root]/social-posting-api
source venv/bin/activate && python -c "
from social_posting import SocialPostingClient
from dotenv import load_dotenv
load_dotenv()
client = SocialPostingClient()
for acc in client.get_accounts():
print(f'{acc.platform}: {acc.username}')
"source venv/bin/activate && python -c "
from social_posting import SocialPostingClient
from dotenv import load_dotenv
load_dotenv()
client = SocialPostingClient()
result = client.post(
content='''你的内容在这里''',
platforms=['platform1', 'platform2'],
media_urls=['https://example.com/image.jpg'] # 可选
)
print(f'成功: {result.success}')
print(f'提供方: {result.provider}')
print(f'发布 ID: {result.post_id}')
"如需连接 Twitter 或其他平台:
.env 中的 API 密钥将自动识别新账户| 错误 | 原因 | 解决方案 |
|---|---|---|
| “无已连接账户” | 平台未关联 | 通过提供方控制台进行连接 |
| “Instagram 需要媒体” | 发布了纯文本 | 添加至少一个图片 URL |
| “HTTP 401” | API 密钥无效 | 检查 .env 文件中的密钥 |
| “所有提供方均失败” | 两个提供方均不可用 | 稍后重试 |
适用于开源项目公告:
# 发布到开发者相关平台
result = client.post(
content="刚刚开源了我的多提供方社交发布 API!\n\n功能特点:\n- 自动在提供方间回退\n- 支持 9+ 个平台\n- 简单的 Python 接口\n\nGitHub: https://github.com/[your-username]/social-posting-api",
platforms=["twitter", "linkedin"]
)适用于视觉内容:
# Instagram 图片轮播
result = client.post(
content="打造 [你的产品] 的幕后花絮",
platforms=["instagram"],
media_urls=[
"https://example.com/image1.jpg",
"https://example.com/image2.jpg",
"https://example.com/image3.jpg"
]
)[Canlah AI](https://canlah.ai) — 在不破坏品牌调性的前提下,实现高效性能营销。
已收录 1 个 Skill