mcpField
R
reddit-automation

reddit-automation

github.com/composiohq其他78.3k80 次安装14 周前更新
代码仓库

关于 reddit-automation

通过 Composio 的 Reddit 工具包和 Rube MCP 自动执行 Reddit 搜索、发帖、评论及浏览。该技能为 Agent 提供连接设置和常见操作流程,也涵盖内容编辑与删除。

主要功能

  1. 01跨多个 subreddit 搜索帖子
  2. 02创建和管理帖子
  3. 03查看和管理评论
  4. 04浏览 subreddit 内容

适用场景

  1. 01按主题或时间范围查找帖子
  2. 02发布文本帖或链接帖
  3. 03回复或编辑评论
  4. 04查看 subreddit 热门帖子

MCP 相关

通过 Rube MCP 使用 Composio 的 Reddit 工具包。需要先连接 Reddit,并在执行工作流前获取最新工具模式。

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/composiohq/awesome-claude-skills --skill reddit-automation

安装后在 Claude Code 中输入/reddit-automation确认已加载。

详细介绍

通过 Rube MCP 自动化 Reddit

通过 Rube MCP 使用 Composio 的 Reddit 工具包自动化 Reddit 操作。

工具包文档:composio.dev/toolkits/reddit

前提条件

  • 必须已连接 Rube MCP(可用 RUBE_SEARCH_TOOLS)
  • 通过 RUBE_MANAGE_CONNECTIONS 建立有效的 Reddit 连接,工具包为 reddit
  • 始终先调用 RUBE_SEARCH_TOOLS,以获取当前工具架构

设置

获取 Rube MCP:在客户端配置中将 https://rube.app/mcp 添加为 MCP 服务。无需 API 密钥——只需添加端点即可使用。

  1. 确认 RUBE_SEARCH_TOOLS 能够响应,以验证 Rube MCP 可用
  2. 使用工具包 reddit 调用 RUBE_MANAGE_CONNECTIONS
  3. 如果连接状态不是 ACTIVE,请使用返回的授权链接完成 Reddit OAuth
  4. 在运行任何工作流前,确认连接状态显示为 ACTIVE

核心工作流

1. 搜索 Reddit

使用场景:用户想要搜索各个 subreddit 中的帖子

工具调用顺序:

  1. REDDIT_SEARCH_ACROSS_SUBREDDITS - 搜索符合查询条件的帖子[必需]

关键参数:

  • query:搜索词
  • subreddit:将搜索范围限制在特定 subreddit(可选)
  • sort:按 'relevance'、'hot'、'top'、'new'、'comments' 排序结果
  • time_filter:时间范围('hour'、'day'、'week'、'month'、'year'、'all')
  • limit:返回结果数量

注意事项:

  • 由于索引延迟,搜索结果可能不包含非常近期的帖子
  • time_filter 参数仅适用于某些排序选项
  • 结果采用分页形式;使用 after/before 令牌获取其他页面
  • NSFW 内容可能会根据账户设置进行过滤
2. 创建帖子

使用场景:用户想要在 subreddit 中发布新帖子

工具调用顺序:

  1. REDDIT_LIST_SUBREDDIT_POST_FLAIRS - 获取可用的帖子 flair[可选]
  2. REDDIT_CREATE_REDDIT_POST - 发布帖子[必需]

关键参数:

  • subreddit:目标 subreddit 名称(不带 'r/' 前缀)
  • title:帖子标题
  • text:帖子正文(用于文本帖子)
  • url:链接 URL(用于链接帖子)
  • flair_id:subreddit 的 flair 列表中的 flair ID

注意事项:

  • 某些 subreddit 要求设置 flair;请先使用 LIST_SUBREDDIT_POST_FLAIRS
  • 各 subreddit 的发帖规则差异很大;可能设有 karma/账户年龄限制
  • text 和 url 不能同时使用;帖子只能是文本或链接
  • 需要遵守速率限制;避免短时间内连续创建帖子
  • subreddit 名称不应包含 'r/' 前缀
3. 管理评论

使用场景:用户想要对帖子发表评论或管理现有评论

工具调用顺序:

  1. REDDIT_RETRIEVE_POST_COMMENTS - 获取帖子的评论[可选]
  2. REDDIT_POST_REDDIT_COMMENT - 添加帖子评论或回复评论[必需]
  3. REDDIT_EDIT_REDDIT_COMMENT_OR_POST - 编辑现有评论[可选]
  4. REDDIT_DELETE_REDDIT_COMMENT - 删除评论[可选]

关键参数:

  • post_id:帖子的 ID(用于获取评论或发表评论)
  • parent_id:父级项目的完整名称(例如,帖子的 't3_abc123',评论的 't1_xyz789')
  • body:评论正文
  • thing_id:要编辑或删除的项目的完整名称

注意事项:

  • Reddit 使用 'fullname' 格式:评论以 't1_' 为前缀,帖子以 't3_' 为前缀
  • 编辑会替换整个评论正文;请包含所有需要保留的内容
  • 删除的评论会显示为 '[deleted]',但树状结构仍会保留
  • 某些 subreddit 可能会限制评论深度
4. 浏览版块内容

使用场景:用户想查看某个版块中的热门或趋势内容

工具调用顺序:

  1. REDDIT_GET_R_TOP — 获取某个版块的热门帖子 [必需]
  2. REDDIT_GET — 从版块端点获取帖子 [替代]
  3. REDDIT_RETRIEVE_REDDIT_POST — 获取特定帖子的完整详情 [可选]

关键参数:

  • subreddit:版块名称
  • time_filter:热门帖子的时间范围('hour'、'day'、'week'、'month'、'year'、'all')
  • limit:要获取的帖子数量
  • post_id:用于获取完整详情的特定帖子 ID

注意事项:

  • time_filter='all' 时,热门帖子会返回所有时间范围内的热门内容
  • 帖子详情包含正文,但评论需要单独调用工具获取
  • 某些帖子可能因版块规则而被删除或隐藏
  • 除非在账户级别设置筛选,否则会包含 NSFW 帖子
5. 管理帖子

使用场景:用户想编辑或删除自己的帖子

工具调用顺序:

  1. REDDIT_EDIT_REDDIT_COMMENT_OR_POST — 编辑帖子的文本内容 [可选]
  2. REDDIT_DELETE_REDDIT_POST — 删除帖子 [可选]
  3. REDDIT_GET_USER_FLAIR — 获取用户在某个版块中的 flair [可选]

关键参数:

  • thing_id:帖子的完整名称(例如,'t3_abc123')
  • body:新的文本内容(用于编辑)
  • subreddit:版块名称(用于 flair)

注意事项:

  • 只有文本帖子可以编辑正文;链接帖子无法修改
  • 提交后无法编辑帖子标题
  • 删除操作不可逆;已删除的帖子会显示为 '[deleted]'
  • 用户 flair 按版块区分,且可能受到限制

常见模式

Reddit 完整名称格式

前缀:

t1_ = Comment (e.g., 't1_abc123')
t2_ = Account (e.g., 't2_xyz789')
t3_ = Post/Link (e.g., 't3_def456')
t4_ = Message
t5_ = Subreddit

用法:

1. Retrieve a post to get its fullname (t3_XXXXX)
2. Use fullname as parent_id when commenting
3. Use fullname as thing_id when editing/deleting
分页
  • Reddit 使用基于游标的分页,使用 'after' 和 'before' 令牌
  • 设置 limit 以指定每页项目数(最多 100)
  • 检查响应中的 after 令牌
  • 在后续请求中传入 after 值以获取下一页
Flair 解析
1. Call REDDIT_LIST_SUBREDDIT_POST_FLAIRS with subreddit name
2. Find matching flair by text or category
3. Extract flair_id
4. Include flair_id when creating the post

已知注意事项

速率限制:

  • Reddit 会对每个账户和每个 OAuth 应用实施速率限制
  • 新账户的发帖频率限制约为每 10 分钟 1 篇
  • 评论也有类似限制,但约束较宽松
  • 429 错误应触发指数退避

内容规则:

  • 每个版块都有自己的发帖规则和要求
  • 某些版块受到限制或设为私密
  • Karma 要求可能会阻止用户在某些版块发帖
  • 自动版主规则可能会删除符合某些模式的帖子

ID 格式:

  • 对于 parent_id 和 thing_id,始终使用完整名称格式(包含前缀)
  • 不带前缀的原始 ID 会导致 'Invalid ID' 错误
  • 搜索结果中的帖子 ID 可能需要添加 't3_' 前缀

文本格式:

  • Reddit 使用 Markdown 设置帖子和评论的格式
  • 支持代码块、表格和标题
  • 链接使用 [text](url) 格式
  • 使用 u/username 提及用户,使用 r/subreddit 提及版块

快速参考

任务工具标识关键参数
搜索 RedditREDDIT_SEARCH_ACROSS_SUBREDDITSquery, subreddit, sort, time_filter
创建帖子REDDIT_CREATE_REDDIT_POSTsubreddit, title, text/url
获取帖子评论REDDIT_RETRIEVE_POST_COMMENTSpost_id
添加评论REDDIT_POST_REDDIT_COMMENTparent_id, body
编辑评论/帖子REDDIT_EDIT_REDDIT_COMMENT_OR_POSTthing_id, body
删除评论REDDIT_DELETE_REDDIT_COMMENTthing_id
删除帖子REDDIT_DELETE_REDDIT_POSTthing_id
获取热门帖子REDDIT_GET_R_TOPsubreddit, time_filter, limit
浏览版块REDDIT_GETsubreddit
获取帖子详情REDDIT_RETRIEVE_REDDIT_POSTpost_id
获取特定评论REDDIT_RETRIEVE_SPECIFIC_COMMENTcomment_id
列出版块帖子 flairREDDIT_LIST_SUBREDDIT_POST_FLAIRSsubreddit
获取用户 flairREDDIT_GET_USER_FLAIRsubreddit

由 Composio 提供支持

评论

支持 Markdown