Barro is a powerful, highly configurable Discord selfbot control layer for people who want more automation, more intelligence, and less friction.
It combines a fast prefix-command interface with account-aware settings, layered AI providers, quest tools, profile utilities, presence controls, tracking features, and a vivid ANSI presentation system. Everything runs locally, stays organized in files, and is designed to feel like one coherent product instead of a pile of disconnected scripts.
Most automation tools make you choose between power and polish. Barro is built to keep both.
- One command layer: discoverable prefix commands, aliases, pagination, and consistent output.
- One control surface: manage accounts, prefixes, themes, AI providers, presence, and access from one configuration.
- One local workspace: JSON-backed state keeps history, memory, backups, and feature data close to the runtime.
- One visual identity: ANSI themes let every response match the account using it.
Barro is made to be the most complete control panel in your Discord toolkit: practical for daily workflows, expressive in presentation, and extensible when you want to add another command.
Connect the provider that fits the job. Barro supports Groq, Google Gemini, OpenAI, and local Ollama workflows, with configurable models and provider selection.
- Ask questions with
askandaiAsk - Enable automatic replies with
aireply - Let Barro handle AFK responses with
aiafk - Use assistant workflows with
assist - Generate images with
imagegen - Keep local reply history with
ollamareply - Build structured analysis with
dossier
Barro turns repetitive account tasks into short commands with visible state and reusable managers.
- Inspect and complete quests with
quest - Monitor Nitro events with
nitrosniper - Set global AFK state with
afk - Run and stop background tasks
- Apply rate limits to long-running features
- Automatically clean up command output according to command type
Run one account or several. Each configured account can have its own prefix, theme, permissions, and persisted state.
- Per-account prefixes and aliases
- Allow lists and no-prefix access
- Account information and token checks
- Login, logout, restart, and status controls
- Saved presence and custom status workflows
- Rich Presence through
rpc.yml
Barro's interface is intentionally compact and expressive. Adjust the accent, header, labels, dividers, brand, version, and text colors, then save the result as a reusable preset.
The result is a command experience that looks like yours every time it opens.
Keep useful context available without a database or hosted dashboard.
- Avatar, banner, and username history
- Relationship and request utilities
- Stalk, shadow, expose, and dossier records
- AI history and user memory
- Command usage history
- Local backups, debug output, and error logs
Commands are loaded recursively from commands/. Run your configured prefix followed by help to see the live menu.
| Area | Key commands |
|---|---|
| AI | ask, aiAsk, aireply, aiafk, assist, dossier, imagegen, ollamareply |
| Automation | quest, nitrosniper, afk, todo, shortcut, page, taskStop |
| Themes | accent, header, label, divider, brand, text, preset, version |
| Presence | status, customstatus, rpc, spoof, savepresence |
| Profile | avatar, banner, selfinfo, history, serverinfo, hypesquad |
| Tracking | stalk, osint, dox, iplookup, snipe, editsnipe |
| Social | friendlist, blocklist, ignoredlist, outgoingreq, upcomingreq |
| Voice and fun | joinVC, leaveVC, fakemsg, faketyping, fakenitro |
| Settings | prefix, allow, revoke, noprefix, backup, reload, view |
| Server actions | purge, ban100, massban, nuke, ss, rc |
The command folders are the source of truth. Add a command module, restart Barro, and the loader can make it available without rewriting the launcher.
- Node.js 20 or newer
- A local
config.yaml - Valid account configuration
- Optional provider credentials for AI and image generation
- Ollama installed locally for local model workflows
npm install
npm startBefore starting:
- Open
config.yaml. - Add one or more accounts under
selfbot.accounts. - Set a prefix for each account.
- Configure only the integrations you intend to use.
- Keep every token, API key, webhook URL, and wallet address private.
Barro supports two startup styles:
terminal:
startup_mode: direct # Connect automaticallyUse menu instead of direct when you want terminal commands for login, logout, restart, status, and exit.
The live configuration is config.yaml. Its major sections are:
selfbot: # accounts, prefixes, status, DM logs
terminal: # direct or menu startup
client_properties: # client identity settings
logging: # debug output and category filters
relationship_logs: # relationship event logging
ai: # Groq, Gemini, Ollama, and OpenAI
imagegen: # Pollinations image generation
ai_afk: # automated away-message behavior
vc_command: # voice mute, deafen, and reconnect settings
dossier: # analysis depth and retention
expose: # external search settings
shadow: # tracking delays and follow behaviorRich Presence is configured in rpc.yml. See docs/CONFIG_GUIDE.md for the complete configuration reference.
index.js Runtime entry point and account lifecycle
config.yaml Main account and feature configuration
rpc.yml Rich Presence configuration
commands/ Dynamically discovered command modules
events/ Discord event listeners
handlers/ Command, event, rate-limit, and crash handling
utils/ Shared providers, managers, themes, and controllers
data/ Local JSON state, logs, histories, and backups
docs/ Feature and setup documentation
Barro is intentionally file-backed. Important state is stored locally under data/, including themes, prefixes, allow lists, AI history, assistant memory, relationship logs, tracking records, backups, and debug output.
Barro is modular by design. Shared behavior belongs in utils/, command behavior belongs in commands/, and event behavior belongs in events/. When you add a feature:
- Keep account-specific state keyed to the active account.
- Reuse existing managers for themes, tasks, rate limits, and storage.
- Keep secrets out of source files and public commits.
- Run a syntax check before sharing the change.
node --check index.jsBarro uses discord.js-selfbot-v13. Discord selfbots are against Discord's Terms of Service and may result in account restrictions or termination. Use Barro only when you understand and accept that risk.
Commands such as nuke, massban, ban100, and purge can cause irreversible changes. Use destructive actions only on servers you own or are explicitly authorized to administer.
Never share account tokens, API keys, webhook URLs, wallet addresses, private logs, or generated reports. Rotate a credential immediately if it is exposed.
docs/CONFIG_GUIDE.md- configuration referencedocs/RPC.md- Rich Presence setupdocs/GET_TOKEN.md- token documentationdocs/ANDROID.md- Android notesstorage-guide.txt- storage ownership and controllersvencord-plugin/README.md- companion plugin notes
Released under the MIT License.