A powerful Electron-based desktop application that automatically replies to comments on TikTok posts. This bot is designed to help TikTok creators engage with their audience more efficiently by automating comment responses.
- π€ Automated Comment Replies: Automatically respond to comments on TikTok posts
- π₯οΈ Desktop GUI: User-friendly graphical interface built with Electron
- π Database Management: SQLite database for storing comments, settings, and activity logs
- π§ Configurable Settings: Extensive configuration options for bot behavior
- π Proxy Support: Built-in proxy support for enhanced privacy
- π± Cross-Platform: Works on Windows, macOS, and Linux
- π Background Mode: Run the bot in the background
- π Activity Tracking: Monitor bot activity and performance
- π― Test Mode: Test your replies without actually posting them
- π Auto-Discovery: Automatically discover new videos to monitor
The application is built with a modular architecture consisting of several components:
TikTokCommentReplyBot/
βββ apps/ # Main application modules
β βββ daemon/ # Background task runner
β βββ gui/ # Graphical user interface
β βββ shell/ # Electron shell application
βββ packages/ # Shared packages
β βββ core/ # Core business logic and database
β βββ shared/ # Shared utilities and libraries
βββ apps/bin/ # Compiled binaries
- Shell App: Main Electron application that manages the GUI and system integration
- Daemon: Background service that handles the TikTok automation
- GUI: User interface built with HTML, CSS, and JavaScript
- Core: Database models, services, and business logic
- Shared: Common utilities including browser automation, logging, and configuration
- Node.js 18.0 or higher
- npm or yarn package manager
- Windows 10/11, macOS 10.14+, or Linux (Ubuntu 18.04+)
-
Clone the repository
git clone https://github.com/yourusername/TikTokCommentReplyBot.git cd TikTokCommentReplyBot
-
Install dependencies
npm install
-
Build the application
npm run build
-
Copy environment configuration
cp .env.example .env
-
Configure your environment by editing the
.env
file with your settings -
Run the application
npm start
The bot uses environment variables for configuration. Copy .env.example
to .env
and customize the settings:
# Bot Settings
BOT_STATUS=stopped # Bot status: stopped, running, paused
TEST_MODE=true # Enable test mode (replies won't be posted)
POST_PER_DAY=10 # Maximum posts per day
MAX_COMMENTS=50 # Maximum comments to reply to per video
DELAY_BETWEEN_REPLY=10 # Delay between replies in seconds
# Browser Settings
BROWSER_HEADLESS=false # Run browser in headless mode
BROWSER_TIMEOUT=30000 # Browser timeout in milliseconds
# Database Settings
DB_PATH=~/.TiktokReplyBot/data/app.sqlite # Database file path
# Logging Settings
LOG_LEVEL=info # Log level: debug, info, warn, error
LOG_DIR=~/.TiktokReplyBot/logs # Directory for log files
See .env.example
for a complete list of configuration options.
# Development mode
npm start
# Production mode
npm run package
- Configure Settings: Set up your bot preferences in the GUI or via environment variables
- Add TikTok Accounts: Configure your TikTok accounts in the application
- Set Up Replies: Configure your comment reply templates
- Start Bot: Begin monitoring TikTok posts for new comments
- Monitor Activity: Track bot performance and adjust settings as needed
# Start the application
npm start
# Build for production
npm run package
# Create installers for different platforms
npm run make # Creates installers for current platform
npm run make:all # Creates installers for all platforms
βββ apps/
β βββ daemon/task-runner/ # Background task automation
β βββ gui/ # Frontend application
β βββ shell/ # Electron main process
βββ packages/
β βββ core/ # Core business logic
β βββ shared/ # Shared utilities
βββ config files
-
Install dependencies
npm install
-
Build all packages
npm run build
-
Start development server
npm start
-
Run linting
npm run lint
The task runner is a separate Node.js process that handles the TikTok automation:
# Build task runner for development
cd apps/daemon/task-runner
npm run build
# Bundle task runner for distribution
npm run bundle # Windows
npm run bundle:mac # macOS
The application uses SQLite with the following main tables:
- settings: Application configuration
- bot_accounts: TikTok account credentials
- pending_videos: Videos waiting for processing
- activities: Bot activity logs
- comments: Comment data and replies
- videos_queue: Video processing queue
- post_commented: Successfully processed posts
- hashtags: Hashtag management
-
Bot not starting
- Check if TikTok is accessible from your network
- Verify your credentials in the configuration
- Check logs for error messages
-
Database errors
- Ensure the database directory exists and is writable
- Check file permissions
- Run database migrations if needed
-
Browser automation issues
- Update Puppeteer to the latest version
- Check if your system meets the requirements for headless Chrome
- Try running in non-headless mode for debugging
Enable debug logging by setting DEBUG_MODE=true
in your .env
file:
DEBUG_MODE=true
LOG_LEVEL=debug
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature
) - Commit your changes (
git commit -m 'Add amazing feature'
) - Push to the branch (
git push origin feature/amazing-feature
) - Open a Pull Request
- Follow TypeScript best practices
- Write tests for new features
- Update documentation as needed
- Follow the existing code style
This project is licensed under the MIT License - see the LICENSE file for details.
This tool is for educational and demonstration purposes only. Users are responsible for:
- Complying with TikTok's Terms of Service
- Respecting platform automation policies
- Using the tool responsibly and ethically
- Any consequences arising from tool usage
The developers are not responsible for any account suspension or other issues that may result from using this tool.
If you encounter any issues or have questions:
- Check the troubleshooting section
- Search existing issues
- Create a new issue with detailed information
- Electron - Cross-platform desktop application framework
- Puppeteer - Browser automation library
- Knex.js - SQL query builder
- SQLite - Lightweight database engine
Built with β€οΈ by Julius George