Multi-Device WhatsApp Bot
by CASPER TECH KENYA DEVELOPERS
- Multi-device WhatsApp bot support
- Web dashboard for real-time monitoring
- Settings panel for easy configuration
- WhatsApp pairing code directly from web UI
- Bot controls (Start / Stop / Restart)
- Auto database backup and restore
- Heavily encrypted source code
- Deploy anywhere
You need a session ID to run the bot.
Visit Pairing.xcasper.space to pair your WhatsApp and get your session string.
Then paste it in the SESSION environment variable or in the Settings panel.
If you like CASPER-XD ULTRA, please give it a ⭐ Star on GitHub!
It helps others discover the project and motivates the developers to keep improving it.
Fork this Repl to get your own copy and configure your environment.
Use one of the ready-made templates below to set your variables — just paste your session ID and numbers.
.env file — Copy .env.example to .env and fill in your values:
SESSION=CASPER-XD-ULTRA;paste_your_session_id_here
OWNER_NUMBERS=254xxxxxxxxx,254xxxxxxxxx
OWNER_NAME=XyrooRynzz
BOT_NAME=CASPER-XD ULTRA
BOT_MODE=public
PREFIX=.
TIMEZONE=Africa/Nairobi
WELCOME=false
ADMIN_EVENT=false
AUTO_VIEW=false
AUTO_REACT=false
PACK_NAME=CASPER-XD ULTRA
STICKER_AUTHOR=© XyrooRynzz
PORT=5000Replit — Go to Secrets tab and add each variable. The most important one:
SESSION = CASPER-XD-ULTRA;paste_your_session_id_here
Heroku — Environment variables are auto-configured from app.json when you deploy. Just fill in SESSION when prompted.
Render — Variables are pre-configured in render.yaml. Set SESSION in the Render dashboard Environment tab.
Railway — Add variables in the Railway dashboard under Variables tab.
VPS / Docker — Use the .env.example file or pass variables with -e flag:
docker run -e SESSION="CASPER-XD-ULTRA;your_session_here" -e OWNER_NUMBERS="254xxxxxxxxx" -p 5000:5000 CASPER-XD-ULTRATermux — Export variables before running:
export SESSION="CASPER-XD-ULTRA;paste_your_session_id_here"
export OWNER_NUMBERS="254xxxxxxxxx"
node index.js| Variable | Description | Default |
|---|---|---|
SESSION |
WhatsApp session string | (required) |
OWNER_NUMBERS |
Comma-separated owner numbers | |
OWNER_NAME |
Owner display name | XyrooRynzz |
BOT_NAME |
Bot display name | CASPER-XD ULTRA |
BOT_MODE |
public or self |
public |
PREFIX |
Command prefix | . |
TIMEZONE |
Timezone | Africa/Nairobi |
WELCOME |
Welcome messages | false |
ADMIN_EVENT |
Admin event notifications | false |
AUTO_VIEW |
Auto-view statuses | false |
AUTO_REACT |
Auto-react to statuses | false |
PACK_NAME |
Sticker pack name | Bot name |
STICKER_AUTHOR |
Sticker author text | Owner name |
PORT |
Server port | 5000 |
The easiest way to deploy. Click the button below to get started:
- Sign up or log in at Replit
- Create a new Repl and import this repository
- Go to the Settings page in the web dashboard to configure your bot
- The bot starts automatically on run
- Use the Pairing section to link your WhatsApp if you don't have a session string
- Create a Heroku account
- Install the Heroku CLI:
curl https://cli-assets.heroku.com/install.sh | sh - Clone and deploy:
git clone <this-repo-url> casper-ultra cd casper-ultra heroku create your-app-name heroku stack:set container git push heroku main
- Set environment variables:
heroku config:set SESSION="your-session-string" heroku config:set OWNER_NUMBERS="254xxxxxxxxx" heroku config:set OWNER_NAME="YourName"
- Open your app:
heroku open
Using Heroku Dashboard:
- Go to Heroku Dashboard
- Click New > Create new app
- Connect your GitHub repo or use Heroku Git
- Go to Settings > Config Vars and add your environment variables
- Deploy from the Deploy tab
- Sign up at Railway
- Click New Project > Deploy from GitHub repo
- Select this repository
- Railway auto-detects the config from
railway.json - Add environment variables in the Variables tab:
SESSION= your session stringOWNER_NUMBERS= your phone numbersPORT= 5000
- Railway will build and deploy automatically
- Access your dashboard via the provided URL
One-click deploy:
npm install -g @railway/cli
railway login
railway init
railway upSSH into your server and run:
# Install dependencies
sudo apt update && sudo apt install -y git nodejs npm
# Install Node.js 20 (if not already)
curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -
sudo apt install -y nodejs
# Clone the repository
git clone <this-repo-url> casper-ultra
cd casper-ultra
# Install packages
npm install --production
# Set environment variables
export SESSION="your-session-string"
export OWNER_NUMBERS="254xxxxxxxxx"
export PORT=5000
# Run with PM2 (recommended for production)
npm install -g pm2
pm2 start index.js --name casper-ultra
pm2 save
pm2 startupUsing Docker on VPS:
git clone <this-repo-url> casper-ultra
cd casper-ultra
# Build and run
docker build -t casper-ultra .
docker run -d \
--name casper-ultra \
-p 5000:5000 \
-e SESSION="your-session-string" \
-e OWNER_NUMBERS="254xxxxxxxxx" \
-e OWNER_NAME="YourName" \
--restart unless-stopped \
casper-ultraUsing Docker Compose:
Create docker-compose.yml:
version: '3.8'
services:
casper-ultra:
build: .
ports:
- "5000:5000"
environment:
- SESSION=your-session-string
- OWNER_NUMBERS=254xxxxxxxxx
- OWNER_NAME=YourName
- BOT_MODE=public
restart: unless-stoppedThen run:
docker-compose up -d-
Install Termux from F-Droid
-
Set up the environment:
pkg update && pkg upgrade -y pkg install -y git nodejs -
Clone and install:
git clone <this-repo-url> casper-ultra cd casper-ultra npm install --production
-
Create your
.envfile:cat > .env << 'EOF' SESSION=your-session-string OWNER_NUMBERS=254xxxxxxxxx OWNER_NAME=YourName BOT_NAME=CASPER-XD ULTRA BOT_MODE=public PREFIX=. TIMEZONE=Africa/Nairobi WELCOME=false ADMIN_EVENT=false AUTO_VIEW=false AUTO_REACT=false PACK_NAME=CASPER-XD ULTRA STICKER_AUTHOR=© YourName EOF
-
Run the bot:
node index.js
-
Keep running in background:
# Option 1: Using nohup nohup node index.js & # Option 2: Using tmux pkg install tmux tmux new -s casper node index.js # Press Ctrl+B then D to detach # tmux attach -t casper to reattach
-
Access dashboard at
http://localhost:5000
Auto-start on Termux boot:
mkdir -p ~/.termux/boot
cat > ~/.termux/boot/start-casper.sh << 'EOF'
#!/data/data/com.termux/files/usr/bin/sh
cd ~/casper-ultra && node index.js &
EOF
chmod +x ~/.termux/boot/start-casper.sh- Sign up at Render
- Click New > Web Service
- Connect your GitHub repository
- Render auto-detects config from
render.yaml - Or configure manually:
- Runtime: Node
- Build Command:
npm install --production - Start Command:
node index.js
- Add environment variables in the Environment tab:
SESSION= your session stringOWNER_NUMBERS= your phone numbers
- Click Deploy
One-click via Blueprint:
- Push this repo to GitHub, then go to
https://render.com/deployand connect the repo. Render will auto-configure from therender.yamlfile.
You can get your session string from:
- Online: Visit Pairing.xcasper.space to get a session string
- From the Web Dashboard: Go to Settings > WhatsApp Pairing > Enter your phone number > Get the pairing code > Link in WhatsApp
- Direct pairing: Start the bot without a session, use the web UI pairing feature
© 2024 - 2026 CASPER TECH KENYA DEVELOPERS. All rights reserved.
