GitHub Hot Board

GitHub Hot Board · Archivo del repositorio

0x8fv/Twitch-Channel-Points-Miner

A fast and efficient script written in Go that simulates stream watching to automatically earn Twitch channel points and Drops for you. Built with performance in mind, offering quick startup and minimal resource consumption compared to Python alternatives. (Esta descripción procede del propio repositorio.)

Datos al October 270x8fv

Mejor puesto

#155

Gemas ignoradas

100

Estrellas totales

11

Forks totales

3

Días en rankings (30 d)

Estado del proyectoLicencia: NOASSERTIONÚltimo push: October 15Issues abiertos (PR incl.): 14

Recolectado desde 2026-10-25; desconocido = aún no recopilado

Pon la insignia en tu README · 0x8fv/Twitch-Channel-Points-Miner[![Pon la insignia en tu README](https://git.vaiox.xyz/api/badge/0x8fv/Twitch-Channel-Points-Miner.svg)](https://git.vaiox.xyz/es/repo/0x8fv/Twitch-Channel-Points-Miner)

Badge · 任何仓库都可以挂 —— 未上榜的仓库显示灰章,上完榜会自动点亮。

<a href="https://git.vaiox.xyz/es/repo/0x8fv/Twitch-Channel-Points-Miner"><img src="https://git.vaiox.xyz/api/badge/0x8fv/Twitch-Channel-Points-Miner.svg" alt="Pon la insignia en tu README" height="20"></a>

Documentación del proyecto

Twitch Channel Points Miner

Latest Version GitHub Repo stars GitHub Traffic GitHub last commit

Twitch Channel Points Miner (Go)

Go rewrite of 0x8fv/Twitch-Channel-Points-Miner-v2 with a focus on speed and low overhead. This version keeps the same behavior (auto-claims bonuses, drops, and predictions) but trims dependencies, streams point updates over PubSub.

Credits to the original maintained fork by rdavydov, whose work inspired this Go rewrite.

Why this version

  • Written in Go for faster start-up and lower CPU compared to the original runtime.
  • Uses Twitch PubSub for near-instant point gain logging.
  • Can target a manual list of streamers or mine everyone you follow.

Quick start

  1. Install Go 1.21+.
  2. Copy config.json (it will be created/extended on first run) and set username plus any options you want. Leave the streamers array empty to mine all followed channels.
  3. Run go run . (or go build -o twitch-miner and execute ./twitch-miner).
  4. On first launch you will see a device code prompt. Open https://www.twitch.tv/activate, enter the code, and wait until the app confirms login. Cookies are saved to cookies/<username>.json for future runs.
  5. Press Ctrl+C to stop; a session summary is printed on exit.

When running a prebuilt binary, the miner uses ./config.json if it exists in the current directory; otherwise it uses the directory containing the executable (so config.json, cookies/, and log/ live next to the binary by default). Override with -config, -data-dir, TCPM_CONFIG, or TCPM_DATA_DIR.

Configuration (config.json)

  • username: Twitch login used for mining and for the cookie filename.
  • password: Optional; device login is used, so you can leave this as-is.
  • debug: Enable debug logs (high-level request summaries, PubSub message metadata).
  • debug_deep: Enable deep debug logs (full request/response bodies and PubSub payloads); only emitted when privacy.anonymize_logs is false.
  • smart_logging, emojis, show_seconds, show_username_in_console, show_claimed_bonus_msg: Console output preferences.
  • save_logs: Write console output to log/<username>.log in addition to stdout.
  • privacy.anonymize_logs: Replace streamer names and point balances in all logs with anonymized values; when enabled, save_logs writes to log/miner.log.
  • discord: Optional Discord webhook notifications. Provide webhook_api plus events (list of event names to send). Supported events: STARTUP, SHUTDOWN, STREAMER_ONLINE, STREAMER_OFFLINE, GAIN_FOR_RAID, GAIN_FOR_CLAIM, GAIN_FOR_WATCH, GAIN_FOR_WATCH_STREAK, BET_WIN, BET_LOSE, BET_REFUND, BET_FILTERS, BET_GENERAL, BET_FAILED, BET_START, BONUS_CLAIM, MOMENT_CLAIM, JOIN_RAID, DROP_CLAIM, DROP_STATUS, CHAT_MENTION.
  • disable_ssl_cert_verification: Disables TLS certificate/hostname verification for PubSub WebSockets only; leave false unless you know you need it.
  • timezone: Optional IANA timezone name (e.g. Europe/Berlin) to override auto-detection for environments like Android/Termux; leave null/empty to auto-detect.
  • claim_drops_startup, claim_drops, follow_raid: Auto-claim drops at boot, continue claiming while running, and auto-follow raid targets.
  • show_drops_progress: When true, log compact DROP_PROGRESS status lines during the existing 30-minute drop inventory checks. Default false keeps drop logging limited to successful claims.
  • claim_moments: Global default for listening to and claiming Twitch Moments via PubSub (community-moments-channel-v1). Per-streamer streamer_overrides.<name>.claim_moments still takes precedence.
  • betting(make_predictions): Enable Twitch prediction betting.
  • watch_streak_warm_start_cache: When true (default), reuse recent watch-streak state for the same still-live stream across restarts to avoid re-probing every online channel at startup. The miner stores this account-scoped cache at log/watch_streak_cache.<username>.json.
  • disable_at_in_nickname: When true, CHAT_MENTION also triggers on plain username mentions in chat (without requiring @username), matching the Python miner behavior.
  • streamers: List of channel logins to mine; if empty, followers are mined in descending follow order.
  • streamers_exclude: List of channel logins to skip (useful with an empty streamers list to mine all followed channels except specific ones); case-insensitive.
  • streamer_overrides: Per-streamer overrides keyed by login; inherit from the global flags above. Example:
    "streamer1": {
      "make_predictions": true,
      "follow_raid": false,
      "claim_drops": true,
      "claim_moments": false,
      "watch_streak": true,
      "community_goals": false,
      "bet": {
        "strategy": "SMART",
        "percentage": 5,
        "percentage_gap": 20,
        "max_points": 234,
        "minimum_points": 20000,
        "stealth_mode": true,
        "delay_mode": "FROM_END",
        "delay": 6,
        "filter_condition": {
          "by": "TOTAL_USERS",
          "where": "GTE",
          "value": 50
        }
      }
    },
    "streamer2": {
      "make_predictions": false,
      "follow_raid": true,
      "claim_drops": false,
      "claim_moments": true,
      "watch_streak": false,
      "community_goals": true,
      "bet": {
        "strategy": "PERCENTAGE",
        "percentage": 10,
        "percentage_gap": 15,
        "max_points": 5000,
        "minimum_points": 0,
        "stealth_mode": false,
        "delay_mode": "FROM_START",
        "delay": 3,
        "filter_condition": null
      }
    }
  • show_game: When true, log the game a streamer is playing on join and on watch-point gains.
  • game_priority / game_exclude: Ordered game names to prefer and names to skip entirely. Leave empty to keep the default behavior; matches are case-insensitive.
  • bet: Advanced prediction tuning. Defaults are applied when values are null:
    • strategy: Default SMART (see entities.Strategy for options such as MOST_VOTED, HIGH_ODDS, SMART_MONEY, etc.).
    • percentage: Percent of points to bet (default 5).
    • percentage_gap: Minimum edge between outcomes before betting (default 20).
    • max_points: Cap per bet (default 50000).
    • minimum_points: Skip bets below this balance (default 0).
    • stealth_mode: If true, bets favor lower-visibility patterns (default false).
    • delay_mode / delay: When to place the bet (default FROM_END, 6 seconds).
    • filter_condition: Optional object to skip betting unless a live metric meets your rule. Example: { "by": "TOTAL_USERS", "where": "GTE", "value": 50 } to skip bets until at least 50 users participate. by supports PERCENTAGE_USERS, ODDS, ODDS_PERCENTAGE, TOP_POINTS, TOTAL_USERS, TOTAL_POINTS; where supports GT, LT, GTE, LTE.

How it works

  • Authenticates via Twitch device flow, persists cookies per user, and refreshes the client build id for GQL calls.
  • Loads channel points context to grab balances and blue chests; watches two live streams at a time for minute-watched events to keep streaks active.
  • The same watch loop reads HLS playlists and sends HEAD requests for every listed segment to generate Drops playback traffic, without downloading audio or video. Playlist URLs are cached and renewed after failures or a broadcast change; the existing telemetry cadence is unchanged.
  • If you have an active subscription (multiplier) on a streamer, their name is highlighted in gold everywhere it appears in the logs so you can quickly spot priority channels.
  • Listens to PubSub (community-points-user-v1) for instant point gain updates and logs deltas with reasons.
  • Periodically claims inventory drops, can optionally log drop progress during those checks, and can auto-join raids and continue mining the destination channel.

Notes

  • Tested with Go 1.21; dependencies are in go.mod.
  • Shortcut commands: go fmt ./... to format, go test ./... to run unit tests.
  • Accepted minute-watched telemetry does not prove Drops credit. Check Twitch's own Drops inventory for authoritative progress.
  • macOS: if Finder opens the downloaded binary in a text editor, run it from Terminal and make it executable first (e.g. chmod +x TwitchChannelPointsMiner-darwin-arm64).

Disclaimer

  • This project comes with no guarantee or warranty. You are responsible for whatever happens from using this project. It is possible to get soft or hard banned by using this project if you are not careful. This is a personal project and is in no way affiliated with Twitch.

Clasificaciones actuales

  • 155

    Gemas ignoradas

    100 estrellas · 11 fork · Star acumuladas (ascendente)

    Ignoradas →

Evolución de los últimos 30 días

Estrellas acumuladas

Evolución del puesto

Ganancia diaria

Vecinos de ranking en el mismo tablero · Ignoradas

Proyectos similares · temas compartidos

← Volver a los rankings

GitHub Hot BoardMáquina del tiempoDiscover