How pineoverlay/pine_bot works
Jeremy Stream Bot is a Discord bot whose main workflow is receiving a Discord command, applying bot state and configuration, and producing a reply or media result. Its command set spans AI chat and search, image/video and audio processing, games, and server utilities. README-documented integrations extend that workflow to local Ollama models, SearXNG, the JG Node API, VLC, Stammer, Demucs, and RVC. The graph reflects the sampled startup and utility relationships; several command and event implementations were not sampled, so their internal call paths are not asserted.
Main entry points: external Media commands · index.js Client startup · ai AI commands · utility.js Command utilities
Components 31
Bot runtime
- Client startup
src/index.js - Event loading
src/handleEvents.js - Client events
src/events/client - Command utilities
src/util/utility.js - Bot configuration
src/config.js - Environment settings
src/util/env-util.js
Discord commands
- Command sets
src/commands - Text and utility commands
src/commands/generic - Economy commands
src/commands/economy - Character manager
src/util/character-manager.js - Lua execution
src/util/lua.js
AI and search
- AI commands
src/commands/ai - AI chat commands
src/commands/aichat - Ollama models
src/util/ollama-models.js - Ollama tools
src/util/ollama-tools.js - SearXNG search
src/util/searxng.js
Media processing
- Media commands
src/commands/external - Video modifiers
src/basecommands/videomodifier.js - FFmpeg utilities
src/util/ffmpeg-util.js - Worker dispatch
src/util/multi-thread.js - Cellular automata
src/util/cellularAutomata/lifeLike.js - Temporary files
src/util/temp-folder.js
Integrations and state
- JG Node API
src/util/fetch-nodeapi.js - VLC integration
src/util/vlc-media-player.js - Stammer integration
src/util/stammer.js - Demucs integration
src/util/demucs.js - RVC integration
src/util/rvc.js
Other components
- Discord users
- Discord platform
- Local Ollama
- SearXNG service
Connections 24
- Discord users → Discord platform: send commands
- Discord platform → Client startup: connects client
- Client startup → Event loading: loads events
src/index.js - Client startup → Command utilities: sets state
src/index.js - Client startup → Environment settings: reads settings
src/index.js - Event loading → Client events: loads listeners
- Command utilities → Bot configuration: reads configuration
src/util/utility.js - Command utilities → Environment settings: reads settings
src/util/utility.js - Command sets → Discord platform: reply to commands
- Character manager → Lua execution: builds Lua context
src/util/character-manager.js - AI commands → SearXNG search: searches web
src/commands/ai/search.js - AI commands → Ollama models: uses models
src/commands/ai/searchai.js - AI commands → SearXNG search: searches web
src/commands/ai/searchai.js - Ollama models → Ollama tools: loads tools
src/util/ollama-models.js - Ollama models → Local Ollama: queries models
- SearXNG search → SearXNG service: requests results
src/util/searxng.js - Media commands → FFmpeg utilities: processes media
src/commands/external/robertloggia.js - Video modifiers → Worker dispatch: dispatches work
src/basecommands/videomodifier.js - Cellular automata → Worker dispatch: runs simulation
- Media commands → JG Node API: uses overlays
- Media commands → VLC integration: uses playback integration
- Media commands → Stammer integration: uses speech tool
- Media commands → Demucs integration: separates audio
- Media commands → RVC integration: runs voice dubbing