Unofficial bot for Vague Chat - the Android chat application.
For entertainment purposes: fun bot, selfbot, war bot, and other automated features.
Features
- Multi-Account Support - Run multiple bot instances simultaneously
- End-to-End Encryption (E2EE) - Secure communication with the Vague platform
- Real-time Chat Stream - Listen and respond to messages in real-time
- Selfbot Functions - Custom automated responses and actions
- War Bot - Battle system with other bots
- gRPC Backend - Fast and efficient communication protocol
Requirements
- Go 1.22+
- Git
Installation
# Clone the repository
git clone https://github.com/fckveza/vague-bot.git
cd vague-bot
# Download dependencies
go mod download
Configuration
Create an account.json file in the project root:
{
"accounts": [
{
"cid": "your_cid",
"email": "[email protected]",
"passwd": "your_password",
"token": "",
"refresh_token": "",
"revision": 0,
"device_id": "your_device_id",
"e2ee_public_key": "your_public_key",
"e2ee_private_key": "your_private_key"
}
]
}
Edit config.json to customize bot settings:
{
"account_file": "account.json",
"target": "your_target_server",
"auth_server": "auth_server_address",
"message_server": "message_server_address"
}
Selfbot Mode
To enable selfbot mode, edit main.go and set:
vaguebot.Selfbot = true
This allows the bot to respond to commands from your own account.
Usage
# Run the bot
go run main.go
The bot will:
- Load accounts from
account.json - Initialize E2EE keys
- Accept pending invitations
- Start listening to chat streams
- Run all bot clients concurrently
Press Ctrl+C to gracefully shutdown.
Send Flex (VFlex)
Bot sekarang mendukung command flex untuk kirim pesan ContentType.FLEX.
Format yang didukung: vflex dengan version: 2.
Tanpa argumen, bot akan kirim template default:
flex
Contoh kirim langsung (target chat saat ini):
flex {"type":"vflex","version":2,"meta":{"safeArea":"true","maxHeightRatio":"0.88"},"altText":"Promo","body":{"type":"box","direction":"column","padding":12,"spacing":8,"children":[{"type":"text","text":"Diskon 50%","weight":"bold","size":16},{"type":"text","text":"Berlaku sampai Minggu"}]}}
Contoh dengan alt text custom:
flex Promo Hari Ini | {"type":"vflex","version":2,"meta":{"safeArea":"true","maxHeightRatio":"0.88"},"body":{"type":"box","direction":"column","children":[{"type":"text","text":"Halo Flex"}]}}
Contoh cepat carousel template:
flexcarousel
Demo template lain:
flexstack
flexshop
flexmenu
flexnews
flexevent
flexcopy
flexprofile
flexcomplex
flexyoutube
flexvideo
flexspotify
flexaudio
Command profile flex (adaptasi dari konsep "me"):
me
Atau target CID tertentu:
me c1234567890
Catatan URL:
- Bot akan pakai URL
picture_profile/cover_picture_profiledari data Vague. - Jika URL masih relatif, bot otomatis normalisasi ke base URL publik.
- Default base URL diambil dari host
VAGUE_BOT_GRPC_TARGET. - Bisa override dengan env
VAGUE_BOT_PUBLIC_BASE_URL.
Project Structure
vague-bot/
├── main.go # Entry point
├── config.json # Bot configuration
├── account.json # Account credentials
├── go.mod # Go module definition
├── proto/ # Protocol Buffer definitions
│ ├── bot.pb.go
│ └── bot_grpc.pb.go
└── vaguebot/ # Core bot implementation
├── client.go # Bot client
├── chatstream.go # Chat stream handler
├── config.go # Configuration loader
├── e2ee.go # E2EE implementation
├── events.go # Event handlers
├── secondary.go # Secondary commands handler
├── store.go # Account store
└── util.go # Utilities
Technical Details
- Protocol: gRPC for efficient client-server communication
- Encryption: End-to-end encryption using X25519 + AES-GCM
- Authentication: Token refresh mechanism with automatic re-authentication
- Reconnection: Automatic reconnection with exponential backoff
Get Free Tokens
Free 10 tokens for new users! 🎁
Register and chat account here: https://link.vague-infinity.com/users/ax2
Disclaimer
This is an unofficial bot for the Vague Chat application. Use at your own risk. The developers are not responsible for any account bans or other consequences from using this bot.
Comments