Skip to content

A GitHub repository designed for managing and running multiple bots simultaneously on the same instance.

Notifications You must be signed in to change notification settings

MysteryDemon/BotClusters

Repository files navigation


📖 BotClusters

Have you encountered the problem where you have to host less resource intense Telegram Bots for free and you can only host a bot for an account but you wanted to host all bots in one instance, well say no more...

You can run multiple bots in a same instance, for now it only works for pure python bots (no docker support yet) but you need to host this on services which provide Docker support.


🔰 Repo Features

  • 🔄 Auto Updates: Automatic updates through GitHub cloning on every restart
  • 🔌 Extensible: Add unlimited bots by simply including more configuration objects
  • 🌐 Interactive Dashboard: Real-time web interface for bot monitoring and control
  • 🛡️ Reliable Process Management: Powered by supervisord for automated process supervision (Smart error handling and automatic recovery on failures)
  • 🔐 Environment Control: Set unique ENV values for each bot
  • 🎮 Custom Execution: Configure custom script paths for bot initialization
  • 🔒 Private Repo Support: Clone and run bots from private repositories using tokens
  • 📦 Custom installation: Custom installation of apt $ pip packages in install.sh
  • 🎛️ Web Integration: Flask-based web application support for services like Render and Koyeb

🚀 Quick Start

  • Fork this repository
  • Configure your bots in the clusters configuration
  • Deploy to your preferred platform using the buttons below

#️⃣ Sample Var.CLUSTERS

Config Description Required
botname Unique name for your bot
git_url GitHub repository URL
branch Repository branch name
run_command Bot execution command
env Environment variables

🛠️ Setup Guide

  • Args:
["botname", "git_url", "branch", "run_command", "env"]
  • For Public Repositories:
["bot01", "https://github.com/mysterydemon/botcluster.git", "main", "bot.py", {"PORT": "8787"}]
  • For Private Repositories:
["bot01", "https://mysterydemon:<your_github_private_token>@github.com/MysteryDemon/botcluster.git", "main", "main.py", {"PORT": "6060"}]

📤 How To Deploy

Watch Tutorial


Deploy

Deploy to Heroku

Deploy to Render

Deploy to Koyeb


📝 Notes

  • Ensure all your bots are compatible with Python
  • Docker support is in development
  • Keep your tokens and sensitive information secure
  • if your Bot has a dependency of packages thats not installed yet, use install.sh to install them
  • For FFMPEG support use the Omega Branch
  • GUI login details:

Username

admin

Password

password123

🤝 Contributing

  • Contributions are welcome! Please feel free to submit a Pull Request.

📚 References