A Bun-powered Discord selfbot utility with an optional bridge app bot, rich user tools, admin actions, slash relays, and quest automation.
Warning
Selfbots are against Discord's Terms of Service and can put accounts at risk.
Use this project only if you fully understand that risk. Never publish real tokens,
and never commit your live config.yaml.
Droplet splits responsibilities between two clients:
- A selfbot account performs the actual user, guild, slash, and quest actions.
- An optional app bot exposes safer slash-command UX with ephemeral Components V2 responses.
- A typed YAML config controls features, safety rules, presets, presence, startup tasks, and bridge access.
This repo also includes a local fork of discord.js-selfbot-v13 in
selfbot-v13/, which is used as the selfbot runtime.
- Rich user tooling for profile info, avatars, banners, mutual data, badges, ReviewDB lookups, UserPFP lookups, and connections.
- Optional bridge app bot with ephemeral slash commands and dynamic help menus.
- Admin command suite routed through the bridge bot but executed by the selfbot.
- Slash relay and preset execution for bots that require interaction-based flows.
- Startup application emoji syncing from local assets.
- Quest auto-completor with optional auto-enroll and periodic progress updates.
- Presence and platform spoof configuration.
- Styled terminal output with a branded startup banner and colored logs.
| Part | Role |
|---|---|
selfbot |
Executes prefix commands, guild actions, user lookups, quest actions, and slash relays. |
appBot |
Optional slash-command bridge with Components V2 responses and access control. |
config.yaml |
Single source of truth for tokens, enabled features, safety gates, presets, and startup behavior. |
assets/ |
Local art and badge icon assets used for startup UI and emoji syncing. |
selfbot-v13/ |
Bundled local dependency that powers the selfbot client. |
| Command | Purpose |
|---|---|
help |
Shows enabled command groups and usage. |
ping |
Returns basic bot latency and status info. |
user |
Fetches rich profile data, avatars, or banners for a target user. |
preset <name> |
Executes a configured slash preset from config.yaml. |
| Command | Purpose |
|---|---|
/help |
Category-based interactive help menu. |
/ping |
Ephemeral status response. |
/user info |
Rich user profile view with action buttons. |
/user avatar |
Shows a target user's avatar. |
/user banner |
Shows a target user's banner. |
/preset name:<preset> |
Runs a configured slash preset through the selfbot account. |
/admin ... |
Runs admin utilities through the bridge bot. |
/admin currently includes:
addallrolesbanbanscreatechannelhackbankicknukepurgeremoveallrolesremovetimeoutslowmodesoftbantimeoutunban
- Bun 1.x
- A Discord user token for the selfbot client
- An optional Discord application + bot token for bridge slash commands
- A target guild for bridge command registration if
appBot.enabledistrue
bun installUse placeholder values and keep the real file private:
selfbot:
token: YOUR_USER_TOKEN
commandPrefix: "-"
logLevel: info
deleteCommandMessage: false
appBot:
enabled: true
token: YOUR_APP_BOT_TOKEN
clientId: YOUR_APPLICATION_CLIENT_ID
guildId: YOUR_GUILD_ID
registerCommandsOnStartup: true
allowedUserIds:
- YOUR_USER_ID
features:
prefixCommands: true
help: true
ping: true
userInfo: true
slash: true
preset: true
admin: true
startup:
syncApplicationEmojisOnStartup: true
applicationEmojiDirectory: ./assets/
questCompletor:
enabled: false
checkIntervalMs: 120000
autoEnroll: true
videoProgressStepSeconds: 15bun run startbun run typecheckappBot.allowedUserIdsrestricts who can use bridge slash commands.safety.runCommandsFromSelfOnlyhelps prevent accidental prefix execution from other users.slash.presetslets you store reusable slash-command payloads for thepresetcommand.startup.syncApplicationEmojisOnStartupscans the configured asset directory and uploads application emojis for badge rendering.startup.questCompletorcontrols periodic quest checks and progress behavior.accountSpoofandpresencecontrol how the self account appears after login.
src/
bot.ts
commands/
types/
utils/
assets/
selfbot-v13/
config.yaml
index.ts
- Do not commit real tokens or personally identifiable config values.
- Prefer a private test guild before enabling admin actions in production-like servers.
- Keep
allowedUserIdsnarrow when the bridge bot is enabled. - Review Discord changes carefully before relying on quest automation or selfbot-only endpoints.
- Runtime entrypoint:
index.ts - Main orchestrator:
src/bot.ts - Config schema:
utils/ConfigUtil.ts - Command registry:
src/commands/index.ts - Quest automation:
utils/QuestUtil.ts
If you add new bridge commands, update the command metadata so /help categories
stay accurate automatically.
- Built on
discord.jsand the bundleddiscord.js-selfbot-v13fork. - Uses
yamlandzodfor typed config loading and validation. - Uses local badge assets plus application emoji syncing for richer user output.