AI студия Владимира Ломтева
УСЛУГИПРОЕКТЫСТАТЬИБАЗА ЗНАНИЙМаркетплейсОбучениеПолезные сервисы

Оставьте заявку,
чтобы обсудить проект

Напишите ваш вопрос, не забудьте указать телефон. Мы перезвоним и все расскажем.

Контакты

Москва

Работаем по всей России
и миру (онлайн)

+7 (999) 760-24-41

Ежедневно с 9:00 до 21:00

v.lomtev@airassvet.ru

По вопросам сотрудничества

TelegramWhatsApp

Есть предложение?

Напишите нам в мессенджеры

© 2025 AI студия Владимира Ломтева

Политика конфиденциальностиСогласие на обработку ПДн|ИНН 623412173261
    Скилл reddit — Скилл для ИИ-агентов | AI Рассвет

    Скилл reddit

    Reddit API: пользователи, сабреддиты, посты, комментарии, поиск. OAuth2 (app only / user mode), кеш first, опциональные write операции с двойным предохранителем (REDDIT ENABLE WRITE=1 + confirm). Triggers: reddit, reddit api, reddit subreddit, reddit user, reddit post, reddit search, парсинг reddit, посты reddit, комментарии reddit, реддит.

    Скачивания
    12
    В избранном
    0
    Комментарии
    0
    Просмотры
    84

    Установить скилл

    Добавьте инструмент одной командой или скачайте проверенный архив версии.

    npx airassvet-skills add skill-reddit
    Скачать ZIP
    Версия
    1.0.0
    Автор
    Владимир Ломтев

    Как установить

    1. 1Скопируйте команду из блока установки.
    2. 2Запустите её в терминале из каталога проекта.

    Документация

    reddit-skill

    Прямой доступ к Reddit API через OAuth2 без PRAW. Порт MCP-сервера Arindam200/reddit-mcp на shell-скрипты по образцу yandex-metrika / yandex-search-api.

    Config

    Нужно зарегистрировать script-app на https://www.reddit.com/prefs/apps и заполнить config/.env. Подробная инструкция: config/README.md.

    Минимум для read-only:

    • REDDIT_CLIENT_ID, REDDIT_CLIENT_SECRET
    • REDDIT_USER_AGENT (обязателен по правилам Reddit)

    Для write/me дополнительно:

    • REDDIT_USERNAME, REDDIT_PASSWORD — владелец script-app (без 2FA)
    • REDDIT_ENABLE_WRITE=1 + --confirm на каждой write-команде

    Philosophy

    1. Cache-first — токен, юзеры, сабреддиты, листинги кешируются по детерминированному ключу.
    2. Context window hygiene — stdout ≤ 30 строк, полный JSON в cache/listings/<hash>.json.
    3. Auth auto-detect — если в .env есть REDDIT_USERNAME+REDDIT_PASSWORD, скилл идёт в user mode (grant_type=password); иначе — app-only (grant_type=client_credentials).
    4. Двойная защита write — два уровня:
      • Без REDDIT_ENABLE_WRITE=1 в .env write-скрипты отказывают сразу с понятной ошибкой (никакого dry-run — это «ворота» уровня окружения).
      • С REDDIT_ENABLE_WRITE=1, но без --confirm — dry-run: печатают что бы сделали, но не отправляют запрос.
      • Только при REDDIT_ENABLE_WRITE=1 и --confirm команда реально идёт на Reddit.
    5. Rate-limit от заголовков — читаем x-ratelimit-remaining, x-ratelimit-reset, Retry-After. На 429 один retry если ожидание ≤ 60s.

    Workflow

    STOP! Перед любым запросом

    1. Проверь, что credentials настроены:

      sh scripts/auth_check.sh
      

      Должен вывести OK: app-only token works (или OK: user token works).

    2. Если нужна write-операция:

      • Убедись, что в .env есть REDDIT_USERNAME+REDDIT_PASSWORD+REDDIT_ENABLE_WRITE=1 (без REDDIT_ENABLE_WRITE=1 команда сразу падает с ошибкой — это намеренно)
      • Сначала запусти команду без --confirm — увидишь dry-run
      • Только после ревью пользователя — добавляй --confirm
    3. Имя сабреддита/юзера можно передавать с префиксом или без: r/python ≡ python, u/spez ≡ spez.

    Scripts

    Auth & identity

    Script Endpoint Mode Description
    auth_check.sh GET /r/all/new?limit=1 any Sanity-check токена
    me.sh GET /api/v1/me user only Личный профиль (карма, имя)

    Read

    Script Endpoint Description
    user_info.sh --username U /user/{u}/about Профиль юзера
    user_posts.sh --username U /user/{u}/submitted Посты юзера
    user_comments.sh --username U /user/{u}/comments Комментарии юзера
    subreddit_info.sh --subreddit S /r/{s}/about Метаданные сабреддита
    subreddit_stats.sh --subreddit S /r/{s}/about + /about/rules + /about/moderators Расширенные метрики + правила + модераторы
    subreddit_popular.sh /subreddits/popular Популярные сабреддиты (Reddit «trending»)
    subreddit_top.sh --subreddit S /r/{s}/top (+ /comments/{id} per-post при --include-comments) Топ-посты сабреддита; опционально с комментариями к каждому
    search.sh --query "..." /search или /r/{s}/search Поиск по Reddit (опц. --subreddit)
    submission.sh --id I или --url U /comments/{id} Пост + топ-комментарии

    Общие read-флаги: --limit N, --no-cache, --time T (где применимо), --sort S (где применимо).

    Write (опасные — двойной предохранитель)

    Script Endpoint Description
    post_create.sh --subreddit S --title T (--content C | --url U) POST /api/submit Опубликовать пост
    comment_reply.sh --parent-id ID --content C POST /api/comment Ответить на пост (t3_*) или комментарий (t1_*)
    subreddit_subscribe.sh --subreddit S [--unsubscribe] POST /api/subscribe Подписка / отписка

    Все write-команды требуют --confirm и REDDIT_ENABLE_WRITE=1 в .env. Поведение:

    • REDDIT_ENABLE_WRITE не установлен → отказ с ошибкой (envelope-уровень).
    • REDDIT_ENABLE_WRITE=1, но без --confirm → dry-run (печать, без сети).
    • Оба условия выполнены → реальный POST.

    Cache layout

    cache/
    ├── token.json                  # OAuth access token + expires_at
    ├── users/<username>.json       # /user/{u}/about
    ├── subreddits/<sub>.json       # /r/{sub}/about
    ├── subreddits/<sub>.rules.json
    ├── subreddits/<sub>.moderators.json
    ├── listings/<hash>.json        # листинги (search, top, posts, comments, popular)
    └── me.json                     # /api/v1/me
    

    Поиск по кешу: grep -r "term" cache/ или rg "term" cache/.

    Examples

    ## 1) Profile of a user
    sh scripts/user_info.sh --username spez
    
    ## 2) Top posts in r/Python this week
    sh scripts/subreddit_top.sh --subreddit python --time week --limit 25
    
    ## 3) Search "machine learning" in r/learnprogramming, sorted by new
    sh scripts/search.sh --query "machine learning" --subreddit learnprogramming \
        --sort new --time month --limit 20
    
    ## 4) Open a submission by URL (with comments)
    sh scripts/submission.sh \
        --url "https://www.reddit.com/r/Python/comments/abc123/some_title/" \
        --limit-comments 50
    
    ## 5) DRY-RUN of a comment reply (requires REDDIT_ENABLE_WRITE=1; without --confirm only prints)
    REDDIT_ENABLE_WRITE=1 sh scripts/comment_reply.sh \
        --parent-id t3_abc123 --content "Looks great!"
    
    ## 6) Real reply (after dry-run review)
    REDDIT_ENABLE_WRITE=1 sh scripts/comment_reply.sh \
        --parent-id t3_abc123 --content "Looks great!" --confirm
    
    ## 7) Top posts WITH comments per post (1 API call per post — use sparingly)
    sh scripts/subreddit_top.sh --subreddit Python --time week --limit 5 \
        --include-comments --comments-per-post 25
    

    Rate limits

    Reddit OAuth: ~60 req/min для app-only, ~600/10min для user-mode (зависит от истории аккаунта). Скилл читает Reddit-специфичные заголовки x-ratelimit-* и стандартный Retry-After. На 429 делает один retry если ожидание ≤ 60s, иначе fail с понятной ошибкой.

    Tests

    sh scripts/tests/run.sh
    

    No-network, проверяют:

    • парсинг submission URL → id
    • детерминированность cache_key
    • корректность авто-выбора режима auth
    • что write-команды без REDDIT_ENABLE_WRITE или без --confirm ничего не отправляют

    Differences from upstream

    Оригинальный reddit-mcp использует PRAW + Python и зашит как MCP-сервер. Здесь — shell-скрипты, прямые curl-запросы, кеш в директории скилла. AI-driven анализ (engagement insights, optimal posting time) намеренно перенесён на сторону Claude — он сам интерпретирует JSON в cache/.

    Документация

    • Reddit API docs
    • OAuth2 wiki
    • API rules / User-Agent

    Требования и возможности

    Для этого скилла не опубликованы структурированные требования.

    Файлы версии

    ПутьРазмерSHA256
    .gitignore36e93c204639c07258...
    SKILL.md9191a4e37fcf773b3d64...
    config/README.md1774229c72f8afba3c450...
    scripts/auth_check.sh793d09f4d3493806987...
    scripts/comment_reply.sh2061a80b30ed7d175fc4...

    Частые вопросы

    Как установить Скилл reddit?
    Используйте команду npx airassvet-skills add skill-reddit или скачайте ZIP-архив.
    Можно ли скачать Скилл reddit бесплатно?
    Да, опубликованную версию можно скачать из маркетплейса бесплатно.

    Похожие инструменты

    Смотреть все
    Ozon Seller и Performance APIСправочник Ozon Seller API и Performance API с локальными OpenAPI-спецификациями.Яндекс Вебмастер: Управление SitemapДобавить, проверить или удалить Sitemap после подтверждения пользователя.Sber API: Платёжное поручение Sber APIСоздать рублёвое платёжное поручение после проверки реквизитов.Т-Банк API: Уведомления эквайринга Т-БанкаПроверить подпись уведомления и идемпотентно обновить заказ.
    Комментарии

    Войдите, чтобы оставить комментарий.

    Комментариев пока нет.

    Установить скилл

    Добавьте инструмент одной командой или скачайте проверенный архив версии.

    npx airassvet-skills add skill-reddit
    Скачать ZIP
    Версия
    1.0.0
    Автор
    Владимир Ломтев