Skip to content

Rumble Chat Clipping Tool - Initial Version

Latest

Choose a tag to compare

@therealtombi therealtombi released this 26 Feb 20:32
7d35f20

Rumble Chat ➟ OBS/Aitum Clipper

A high-performance Python utility designed for streamers to automate "Backtrack" or "Replay Buffer" saving via Rumble Live Chat. By monitoring for a specific command (!clip), the application simulates a global hardware-level keystroke to trigger OBS or Aitum Vertical recording.

🚀 How it Works

The application operates through four main stages:

  1. Chat Monitoring: Connects to the Rumble SSE (Server-Sent Events) API to listen for real-time messages.
  2. Validation: Checks if the message contains !clip, verifies the unique Message ID to prevent duplicates, and enforces a persistent cooldown.
  3. Keystroke Simulation: Uses the pynput library to hold modifiers (Ctrl, Alt, Shift) and tap the action key with precise timing delays to ensure Aitum/OBS registration.
  4. Feedback: Sends a confirmation message back to the Rumble chat via the authenticated API.

📊 Process Flow

sequenceDiagram
    participant Viewer as Rumble Viewer
    participant App as Clipper App
    participant Config as config.json
    participant PC as Windows OS (Global)
    participant OBS as OBS / Aitum

    Viewer->>App: Sends "!clip" in chat
    App->>App: Validate Message ID (Duplicate check)
    App->>Config: Check Last Clip Time vs Cooldown
    
    alt Cooldown Active
        App-->>Viewer: (Ignored locally)
    else Cooldown Expired
        App->>PC: Simulate Modifiers Down (e.g., ALT)
        App->>PC: Wait 50ms
        App->>PC: Simulate Action Key (e.g., I)
        PC->>OBS: Global Hotkey Detected
        OBS->>OBS: Save Backtrack/Replay
        App->>PC: Release All Keys
        App->>Config: Update last_clip_time
        App->>Viewer: "@User - Clip has been saved!"
    end