Conversation
Move whatsapp-client.js and queue-processor.js into src/ as TypeScript files with proper type annotations, interfaces, and strict mode. Set up tsconfig.json to compile to dist/, add build scripts, and update tinyclaw.sh to reference compiled output and auto-build when source changes. https://claude.ai/code/session_01R6CxWY1dX5VRJWGAJmKohu
Add a full Discord bot client (discord-client.ts) that receives DMs, queues them through the shared queue-processor, and sends responses back — mirroring the existing WhatsApp flow. The queue processor now supports configurable model selection (Sonnet/Opus) via a persisted config file. The main daemon (tinyclaw.sh) is overhauled with: - Interactive first-run setup wizard (channel + model selection) - Support for Discord-only, WhatsApp-only, or both simultaneously - Dynamic tmux layouts that adapt to the active channels - Discord bot token validation from .env - A `setup` command to reconfigure channel/model at any time - Status and logs commands that reflect all active channels Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Resolved conflict in tinyclaw.sh by combining: - TypeScript dist/ paths from this branch - Enhanced WhatsApp ready flag checking from main Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
This merge combines: - Discord bot support alongside WhatsApp - Multi-channel setup wizard (Discord/WhatsApp/Both) - Improved WhatsApp QR code display using file-based approach - Dynamic tmux layouts based on enabled channels - Better ready state tracking for WhatsApp Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Major improvements: - Replace separate channel/model files with unified .tinyclaw/settings.json - Store Discord bot token in settings.json (written to .env for Node.js client) - Extract setup wizard into separate setup-wizard.sh script - Setup wizard now prompts for Discord bot token in terminal - Remove tmux layout ASCII art display to reduce LoC - Reduce tinyclaw.sh from 677 to 480 lines (29% reduction) Breaking changes: - Old .tinyclaw/channel and .tinyclaw/model files are deprecated - Users will be prompted to run setup wizard on first start Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
The setup wizard handles Discord token collection and automatically writes to .env, so users never need to manually create/edit .env. Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Major documentation updates: - Add Discord support throughout - Document interactive setup wizard - Show all three tmux layouts (WhatsApp/Discord/Both) - Update architecture diagram with Discord client - Add Discord setup instructions - Document .tinyclaw/settings.json configuration - Update component list with TypeScript files - Add Discord to message flow examples Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
New commands: - `./tinyclaw.sh model` - Show current model - `./tinyclaw.sh model sonnet|opus` - Switch Claude model instantly - `./tinyclaw.sh channels reset whatsapp|discord` - Reset channel auth Setup wizard improvements: - Prompt for heartbeat interval (default: 500s) - Store in settings.json as heartbeat_interval Heartbeat improvements: - Read interval from settings.json dynamically - No need to edit heartbeat-cron.sh manually Other changes: - Minor formatting fixes in queue-processor.ts - Updated model ID from full version to short name Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Resolved conflicts: - tinyclaw.sh: Keep Discord multi-channel support - package.json: Include Discord dependencies - package-lock.json: Use our version with Discord packages Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
AgenticCurve
pushed a commit
to AgenticCurve/tinyclaw
that referenced
this pull request
Feb 11, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Merges Discord integration from @sasha-computer with significant improvements to configuration management and CLI commands.
Key Features
🎮 Discord Integration
⚙️ Configuration Management
settings.jsonfor all configuration.envfile editing requiredtinyclaw.shfrom 677 to 556 lines🎛️ New CLI Commands
📝 Settings Structure
{ "channel": "both", "model": "sonnet", "discord_bot_token": "YOUR_TOKEN", "heartbeat_interval": 500 }Changes
Added
setup-wizard.sh)Improved
Removed
Credits
Original Discord integration by @sasha-computer
Configuration improvements and additional features by Claude Code
Test Plan
🤖 Generated with Claude Code