mcpField
R
reddit-automation

reddit-automation

github.com/davepoon生産性3.7k120 回インストール2 日前に更新
リポジトリ

reddit-automation について

Composio の Reddit ツールキットを通じて Reddit の操作を自動化するスキルです。投稿やコミュニティ活動を管理する用途に向け、Rube MCP 経由で検索、閲覧、投稿、コメントや投稿の管理を行います。

主な機能

  1. 01複数のサブレディットで投稿を検索
  2. 02サブレディットの投稿と詳細を閲覧
  3. 03テキスト投稿とリンク投稿の作成
  4. 04コメントの追加、編集、削除
  5. 05投稿の編集と削除

活用シーン

  1. 01トピックや期間を指定した投稿の検索
  2. 02サブレディットの人気投稿の確認
  3. 03サブレディットのフレアを付けて投稿
  4. 04コメントへの返信や編集

MCP 対応

Rube MCP 経由で Composio の Reddit ツールキットにアクセスします。有効な Reddit 接続と、RUBE_SEARCH_TOOLS によるツールスキーマの取得が必要です。

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/davepoon/buildwithclaude --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 を検索する

使用する状況:ユーザーが複数のサブレディットから投稿を検索したい場合

ツールの呼び出し順序:

  1. REDDIT_SEARCH_ACROSS_SUBREDDITS - クエリに一致する投稿を検索します[必須]

主なパラメーター:

  • query:検索語句
  • subreddit:検索対象を特定のサブレディットに限定します(任意)
  • sort:結果を 'relevance'、'hot'、'top'、'new'、'comments' で並べ替えます
  • time_filter:期間('hour'、'day'、'week'、'month'、'year'、'all')
  • limit:返す結果の件数

注意点:

  • インデックス作成の遅延により、ごく最近の投稿が検索結果に含まれないことがあります
  • time_filter パラメーターは一部の並べ替えオプションでのみ機能します
  • 結果はページ分割されます。続きのページを取得するには after/before トークンを使用してください
  • アカウント設定によっては、NSFW コンテンツがフィルタリングされることがあります
2. 投稿を作成する

使用する状況:ユーザーがサブレディットに新しい投稿を送信したい場合

ツールの呼び出し順序:

  1. REDDIT_LIST_SUBREDDIT_POST_FLAIRS - 利用可能な投稿フレアを取得します[任意]
  2. REDDIT_CREATE_REDDIT_POST - 投稿を送信します[必須]

主なパラメーター:

  • subreddit:投稿先のサブレディット名('r/' 接頭辞なし)
  • title:投稿タイトル
  • text:投稿本文(テキスト投稿の場合)
  • url:リンク URL(リンク投稿の場合)
  • flair_id:サブレディットのフレア一覧にあるフレア ID

注意点:

  • フレアが必須のサブレディットもあります。最初に LIST_SUBREDDIT_POST_FLAIRS を使用してください
  • サブレディットごとに投稿ルールは大きく異なり、カルマやアカウント作成期間による制限が適用されることがあります
  • テキストと URL は相互に排他的です。投稿はテキストかリンクのどちらかです
  • レート制限が適用されるため、短時間に連続して投稿を作成しないでください
  • サブレディット名に '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]' と表示されますが、ツリー構造は残ります
  • サブレディットによっては、コメントの深さに制限が適用されることがあります
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 - サブレディット内のユーザーのフレアを取得します[任意]

主なパラメーター:

  • thing_id:投稿の完全名(例:'t3_abc123')
  • body:新しいテキスト(編集する場合)
  • subreddit:サブレディット名(フレアの場合)

注意点:

  • 本文を編集できるのはテキスト投稿のみです。リンク投稿は変更できません
  • 投稿後にタイトルを編集することはできません
  • 削除は取り消せません。削除された投稿は '[deleted]' と表示されます
  • ユーザーフレアはサブレディットごとに設定され、制限されている場合があります

よくあるパターン

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' のトークンを使ったカーソルベースのページネーションを使用します
  • 1 ページあたりの項目数を limit で設定します(最大 100)
  • レスポンスに after トークンがあるか確認します
  • 次のページを取得するには、後続のリクエストに after の値を渡します
フレアの解決
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 エラーが発生した場合は、指数バックオフを適用します

コンテンツのルール:

  • 各サブレディットには独自の投稿ルールと要件があります
  • 制限付きまたは非公開のサブレディットもあります
  • カルマ要件により、特定のサブレディットへの投稿が制限される場合があります
  • 特定のパターンに一致する投稿は、自動モデレーターのルールによって削除される場合があります

ID の形式:

  • parent_id と thing_id には、必ず接頭辞を含む完全名形式を使用します
  • 接頭辞のない ID を使用すると、「Invalid ID」エラーが発生します
  • 検索結果の投稿 ID には、't3_' 接頭辞の追加が必要な場合があります

テキストの書式設定:

  • Reddit では投稿とコメントの書式設定に Markdown を使用します
  • コードブロック、表、見出しに対応しています
  • リンクには [text](url) 形式を使用します
  • ユーザーには u/username、サブレディットには r/subreddit でメンションします

クイックリファレンス

タスクツールスラッグ主なパラメーター
Reddit を検索REDDIT_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
投稿フレアの一覧を取得REDDIT_LIST_SUBREDDIT_POST_FLAIRSsubreddit
ユーザーフレアを取得REDDIT_GET_USER_FLAIRsubreddit

Composio 提供

コメント