⚡ Intent™ BOT Update Server

Automatic update engine for Intent™ BOT v3.0.0 & above

📡 Current Live Update Payload ACTIVE

version=2.2.0
zip=https://github.com/Gamming-SERVICE/INTENT_BOT/archive/refs/tags/Intent%E2%84%A2_BOT_v2.2.zip

📄 How the Bot Parses This Page

The updater service fetches this URL and uses regex to extract these two values from anywhere in the HTML body:

# Regex patterns used by services/updater_service.py
version_match = re.search(r"version=([0-9]+\.[0-9]+\.[0-9]+)", html)
zip_match     = re.search(r"zip=(https?://[^\s<"']+)", html)

# Extracted values:
remote_version = "x.y.z"
zip_url        = "https://github.com/yourusername/intentbot/archive/refs/heads/main.zip"

🔄 Update Flow

Step What happens
1. Check Bot fetches this page every 60 minutes via aiohttp
2. Compare Remote version is compared to the running BOT_VERSION in core/constants.py
3. Skip If versions are equal → logs "Already on latest version" and waits
4. Download If remote is newer → downloads the ZIP from the zip= URL
5. Validate Checks the downloaded file is a valid ZIP before touching anything
6. Backup Creates a timestamped backup ZIP in data/backups/
7. Apply Extracts new files, skipping: data/database.db, .env, logs/, data/backups/
8. Restart Bot restarts via os.execv(sys.executable, [sys.executable] + sys.argv)

🏠 Host Your Own Update Server

To host your own update endpoint, create a simple HTML or text file containing exactly these two lines anywhere in the body, then host it on any static server (Netlify, GitHub Pages, nginx, etc.):

<body>
version=3.0.1
zip=https://github.com/yourusername/intentbot/archive/refs/heads/main.zip
</body>

Set UPDATE_CHECK_URL in your .env to point to your hosted file.

🔧 Configuration (.env)

# Point to your own update server or use the default
UPDATE_CHECK_URL=https://update.bot.int.yt

# To disable auto-updates, set an empty string
# UPDATE_CHECK_URL=