|
TobyG74 |
Nugraizy |
- ChisatoBOT is a WhatsApp Multi-Device bot built with TypeScript and Baileys
- Features 14 command categories covering downloaders, converters, group management, games, anime, search, and more
- Real-time web dashboard with SSE streaming, system monitoring, and group management
- MongoDB database via Prisma for users, groups, leveling, and premium system
- Beautiful terminal logger with colored output and multiple log levels
Requirements to run this project:
- Node.js v18+
- GIT
- FFMPEG
- Libwebp โ for sticker conversion
- MongoDB โ local or Atlas
- OCR Space API Key โ for OCR feature (optional)
- Create a MongoDB database (local or Atlas)
- Get your connection string, e.g.:
mongodb+srv://user:pass@cluster.mongodb.net/chisato - Paste it into
DATABASE_URLin your.envfile
DATABASE_URL=
DASHBOARD_PORT=3333
JWT_SECRET=
PROXY=
OCR_APIKEY=Rename .env.example to .env, then fill in the values.
Windows:
.\install.ps1Linux / macOS:
chmod +x install.sh && ./install.shThe installer will automatically:
- Check prerequisites (Git, Node.js, FFmpeg, Libwebp)
- Install pnpm dependencies
- Set up environment variables
- Configure Prisma and push the database schema
- Build the TypeScript project
# 1. Clone
git clone https://github.com/TobyG74/ChisatoBOT
cd ChisatoBOT
# 2. Install dependencies (uses npm)
npm install
# 3. Push database schema
npx prisma db push
# 4. Build
npm run build
# 5. Run
npm start # plain Node
npm run pm2:start # with PM2 (recommended for production){
"ownerNumber": ["628xxxxxxxxxx"],
"teamNumber": [],
"timeZone": "Asia/Jakarta",
"prefix": ".",
"maintenance": [],
"stickers": {
"author": "Your Name",
"packname": "Made by ChisatoBOT"
},
"settings": {
"ownerNotifyOnline": false,
"useLimit": false,
"useCooldown": true,
"selfbot": false,
"autoReadMessage": false,
"autoReadStatus": false,
"autoCorrect": true
},
"call": {
"status": "reject"
},
"limit": {
"command": 30
},
"cfonts": {
"font": "block",
"align": "center",
"colors": [
"green",
"yellow"
],
"background": "transparent",
"letterSpacing": 0,
"lineHeight": 0,
"space": true,
"maxLength": "0",
"gradient": false,
"independentGradient": false,
"transitionGradient": false,
"env": "node"
},
"commandOverrides": {}
};| Field | Description |
|---|---|
ownerNumber |
Bot owner numbers (international format, no +) |
teamNumber |
Team/admin numbers with elevated permissions |
prefix |
Command prefix (default .) |
maintenance |
List of commands currently in maintenance mode |
ownerNotifyOnline |
Notify owner when bot connects |
useLimit |
Enable per-user command limits |
useCooldown |
Enable per-command cooldowns |
selfbot |
Only respond to owner number |
autoReadMessage |
Automatically mark messages as read |
autoReadStatus |
Automatically view status updates |
autoCorrect |
Suggest correct command on typo |
call.status |
"reject" to block all calls, "accept" to allow |
limit.command |
Number of free command uses per user (if useLimit enabled) |
cfonts |
Configuration for terminal logger fonts/colors |
commandOverrides |
Override specific command configs (e.g. cooldown, limit) |
type ConfigCommands = {
name: string;
alias: string[];
usage?: string;
category: string;
description: string;
cooldown?: number; // in seconds
limit?: number;
example?: string;
interactiveSelection?: boolean; // skip cooldown when query contains '|' (list-selection response)
isOwner?: boolean;
isTeam?: boolean;
isPrivate?: boolean;
isPremium?: boolean;
isGroup?: boolean;
isGroupAdmin?: boolean;
isGroupOwner?: boolean;
isBotAdmin?: boolean;
run: (args: CommandsObject) => unknown;
};| Command | Description |
|---|---|
tiktok |
Download TikTok video |
tiktokaudio |
Download TikTok audio |
tiktokimage |
Download TikTok slideshow images |
instagram |
Download Instagram Reels / photos |
facebook |
Download Facebook video |
threads |
Download Threads video / photos |
xdl |
Download X (Twitter) video |
| Command | Description |
|---|---|
sticker |
Convert image/video to sticker |
toimage |
Convert sticker to image |
stickerwm |
Create sticker with watermark |
textsticker |
Create sticker from text |
animatedtext |
Animated text sticker |
replysticker |
Reply-based text sticker |
meme |
Generate meme from image |
emojimix |
Mix two emojis |
ocr |
Extract text from image (OCR) |
| Command | Description |
|---|---|
tagall |
Tag all group members |
hidetag |
Hidden tag all members |
kick |
Remove member from group |
add |
Add member to group |
promote / demote |
Manage admin roles |
link / revoke |
Get / reset group invite link |
groupinfo |
Show group information |
groupname |
Change group name |
groupdesc |
Change group description |
grouppic |
Change group profile picture |
leave |
Bot leaves the group |
afk |
Set AFK status |
fakereply |
Send a fake quoted reply |
getpp |
Get profile picture |
| Command | Description |
|---|---|
antilink |
Toggle anti-link protection |
antibot |
Toggle anti-bot protection |
welcome |
Toggle welcome message |
notify |
Toggle member leave notification |
mute |
Toggle group mute |
announce / restrict |
Toggle group lock modes |
groupsetting |
View all group settings |
banned / unbanned |
Ban / unban user from commands |
setwelcome |
Set custom welcome message |
setleave |
Set custom leave message |
| Command | Description |
|---|---|
youtube |
YouTube search |
bingimage |
Bing image search |
ddgimage |
DuckDuckGo image search |
pexels |
Search high-quality photos on Pexels |
| Command | Description |
|---|---|
mlcheck |
Check Mobile Legends Account |
githubprofile |
Get GitHub profile info |
tiktokstalk |
Get TikTok user profile |
genshincheck |
Get Genshin Impact character info |
genshincharacters |
Get Genshin Impact character info card |
genshinweapons |
Get Genshin Impact weapon info card |
hsrcheck |
Get Honkai: Star Rail character info |
hsrcharacters |
Get Honkai: Star Rail character info card |
hsrweapons |
Get Honkai: Star Rail Light Cones |
zzzcheck |
Get Zenless Zone Zero agent info |
zzzagents |
Get Zenless Zone Zero agents |
zzzweapons |
Get Zenless Zone Zero W-Engines |
| Command | Description |
|---|---|
animeranking |
MyAnimeList anime ranking |
mangaranking |
MyAnimeList manga ranking |
tracemoe |
Reverse image search for anime scenes |
| Command | Description |
|---|---|
earthquake |
Latest earthquake news (BMKG) |
| Command | Description |
|---|---|
zerochan |
Search wallpapers on Zerochan |
| Command | Description |
|---|---|
menu |
Show command menu |
about |
About the bot |
me |
Your profile info |
level |
Your current XP level |
leaderboard |
Top users leaderboard |
stats |
Bot statistics |
owner |
Contact the bot owner |
| Command | Description |
|---|---|
ping |
Bot latency |
runtime |
Bot uptime |
status |
Quick status check |
statistics |
Detailed statistics |
Multiplayer games playable directly in WhatsApp groups.
A full Werewolf / Mafia game for groups (4โ12+ players) with role card images, EN/ID language voting, and automatic day/night phase management.
| Subcommand | Description |
|---|---|
/ww start |
Create a lobby in the group |
/ww join |
Join the lobby |
/ww leave |
Leave the lobby |
/ww lang en|id |
Vote for game language (EN or ID) |
/ww players |
Show current player list |
/ww begin |
Host starts the game (min. 4 players) |
/ww kill [no] |
๐บ Werewolf: choose a kill target |
/ww check [no] |
๐ฎ Seer: investigate a player |
/ww save [no] |
๐ฉบ Doctor: protect a player |
/ww heal [no] |
๐งช Witch: use healing potion |
/ww poison [no] |
๐งช Witch: use poison potion |
/ww protect [no] |
๐ก๏ธ Bodyguard: shield a player (1ร) |
/ww shoot [no] |
๐น Hunter: shoot on death |
/ww vote [no] |
Vote to execute a player (day phase) |
/ww status |
Show current game status |
/ww end |
Force-end the game (host / owner) |
/ww help |
Show help and role list |
Roles: Villager, Werewolf, Alpha Werewolf, Seer, Doctor, Witch, Hunter, Bodyguard, Mayor, Minion, Cursed, Kid
Anonymous 1-on-1 chat between random group members.
| Command | Description |
|---|---|
anonchat |
Start anonymous chat |
anonchat next |
Find a new partner |
anonchat stop |
End the session |
Full owner commands: add/delete premium/team, broadcast, approve dashboard access, change bot name/status/picture, config, mode, sync-database, block/unblock, and more.
Put any command into maintenance mode without restarting the bot:
.commandname -m โ enable maintenance
.commandname -m โ toggle back off
Access the web dashboard at http://localhost:3333 (or the port set in DASHBOARD_PORT).
Features:
- Overview โ real-time stat cards (users, groups, uptime, banned)
- User Distribution โ breakdown by role (owner, team, premium, regular)
- Group Settings โ aggregated anti-link / anti-bot / welcome / notify / mute counts
- System Monitor โ CPU, RAM, OS memory with live SSE stream (1s refresh)
- Groups โ table with settings icons, bot admin indicator, kick/settings actions
- Commands โ list all commands with maintenance toggle
- Logs โ live log viewer with level filter
- Settings โ bot configuration panel
First login:
- Make sure your number is in
ownerNumberorteamNumberinconfig.json - Chat the bot and send
.adminpanelto register your dashboard account - Go to
http://localhost:3333and log in
- Special thanks to the bot community below who helped develop ChisatoBOT
|
Arugaz |
Zennn08 (Aqul) |
||
|
MRHRTZ |
Mhankbarbar |
ItzNgga |
xbnfz01 |
|
Faiz Bastomi |
Alphanum404 |
DutaKey |
- Special Thanks for My Teams
|
Hidden-Finder |
BOTWEA |

