Skip to content

Latest commit

 

History

3 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

TooLazy

version node mongodb license

TooLazy

A Discord selfbot that does the boring stuff for you —
presence, auto-reactions, message sniping, and juggling a pile of accounts.


Basically, it does the tedious Discord stuff so you don't have to think about it — keeps your presence looking alive, fires off reactions and replies on its own, grabs deleted messages before they vanish, and lets you run a handful of accounts at the same time. Everything runs off short prefix commands, with MongoDB holding your setup between restarts.

I threw this together a few years back, got bored of it, and it sat in a folder collecting dust for a while. Dug it up recently, cleaned out the mess, wrote some actual docs, and here it is.

Warning

Selfbots violate Discord's Terms of Service and may result in account termination. This project is provided as-is, without warranty of any kind. It has only been lightly re-tested since being revived, so expect rough edges. You use it entirely at your own risk.

Contents

Features

Presence & Status

  • Custom Rich Presence with buttons, images, and streaming / listening / watching / playing modes
  • Live activity from Last.fm (now-playing) and Roblox game tracking
  • AFK auto-responder and rotating status quotes

Automation

  • Auto-react to specific users — with multi-account support
  • Auto-reply to users, or mirror their messages (mimic)
  • Auto-delete messages from targeted users

Multi-Account

  • Load and manage alt accounts (nickname, status, bulk token upload)
  • Join servers across multiple tokens and boost with Nitro

Utility & Fun

  • Snipe deleted messages, edited messages, and Nitro gifts
  • Bulk-purge your own messages
  • Built-in to-do list, spam tools, and a set of fun percentage commands

Requirements

  • Node.js >= 18 (v22 LTS recommended)
  • A MongoDB connection string — local or Atlas
  • A Discord account token — it is a Discord bot, after all

Setup

Clone the repo and install dependencies:

git clone https://github.com/revxshafi/TooLazy.git
cd TooLazy
npm install

Then configure it and start it:

npm start          # start the bot
npm run dev        # install dependencies, then start
node bot.js        # run directly

That's the whole thing. If you have Node and MongoDB, you're done — the rest of this section is per-platform hand-holding for getting those two installed.

Tip

Too lazy for even that? Fitting. There's a setup script that installs dependencies and creates your .env for you:

bash setup.sh      # macOS, Linux, Termux
setup.bat          # Windows (or just double-click it)

It's safe to re-run and won't touch an existing .env. You still have to fill in your token afterward — it's lazy, not psychic.

macOS / Linux

The easy way — one command does everything below:

bash setup.sh

The manual way — install Node (via nvm, recommended):

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.1/install.sh | bash
nvm install 22

For MongoDB, either point MONGO at a free Atlas cluster (easiest), or run it locally:

# macOS (Homebrew)
brew tap mongodb/brew && brew install mongodb-community
brew services start mongodb-community

# Debian / Ubuntu — see MongoDB's official docs for the apt setup, then:
sudo systemctl start mongod

Then follow the shared steps above.

Windows
  1. Install Node 22 LTS from nodejs.org (the installer adds it to PATH for you).
  2. For MongoDB, point MONGO at a free Atlas cluster, or install MongoDB Community Server and let it run as a service.
  3. Open PowerShell or Windows Terminal in the project folder, then either run setup.bat (or double-click it) to auto-install everything, or follow the shared steps above manually.

If npm isn't recognized after installing Node, close and reopen your terminal so PATH refreshes.

Android / Termux — for the "run it on my phone" crowd

It runs on a phone. That isn't the same as it being a good idea, but here you go.

pkg update && pkg upgrade
pkg install nodejs git
git clone https://github.com/revxshafi/TooLazy.git
cd TooLazy
bash setup.sh

That script installs the dependencies and creates your .env. Two things it can't do for you, so read on before opening an issue:

1. MongoDB does not run on Termux. Don't pkg install mongodb — the package isn't there, and it isn't coming. Point your MONGO value at a free Atlas cluster instead.

2. There's no editor and no mouse. You can't tap the config to open it. Install one:

pkg install nano
nano .env        # edit, then Ctrl+O to save, Ctrl+X to exit

Prefer configuring inline? Same command, different file: nano data/config.js.

A few more things that will trip you up:

  • Run termux-setup-storage if you need files from outside Termux (e.g. for token uploads).
  • Keep the app in the foreground — Android will kill it in the background, and then you'll insist the bot "randomly stops."
  • npm install is slow on mobile. It hasn't frozen. Wait.

Then npm start. You are now running a ToS-breaking selfbot off a phone. Godspeed.

Configuration

TooLazy can be configured two ways, and you can mix them freely:

  1. Environment variables — copy the example file and fill it in.
  2. Inline — edit the defaults directly in data/config.js.

For each value, the environment variable wins if it's set; otherwise the inline default in data/config.js is used. So you can keep, say, your userID inline while loading your token from .env.

cp .env.example .env

Then edit .env:

TOKEN="your_discord_token"
MONGO="your_mongodb_connection_string"
USER_ID="your_discord_user_id"
PREFIX="."
LASTFM_USER="your_lastfm_username"
LASTFM_API_KEY="your_lastfm_api_key"
SPOTIFY_CLIENT_ID="your_spotify_client_id"
SPOTIFY_CLIENT_SECRET="your_spotify_client_secret"
GIPHY_KEY="your_giphy_api_key"
ROBLOX_COOKIE="your_roblox_cookie"

Only TOKEN, MONGO, and USER_ID are required. The rest enable optional integrations — Last.fm / Spotify rich presence, Roblox tracking, and Giphy-powered actions.

How to get your Discord token

[!WARNING] Never share your token with anyone. It grants full access to your account.

Open the Discord console (Ctrl + Shift + IConsole) and run this to copy your token to the clipboard:

window.webpackChunkdiscord_app.push([
  [Symbol()],
  {},
  req => {
    if (!req.c) return;
    for (let m of Object.values(req.c)) {
      try {
        if (!m.exports || m.exports === window) continue;
        if (m.exports?.getToken) return copy(m.exports.getToken());
        for (let ex in m.exports) {
          if (m.exports?.[ex]?.getToken && m.exports[ex][Symbol.toStringTag] !== 'IntlMessagesProxy') return copy(m.exports[ex].getToken());
        }
      } catch {}
    }
  },
]);

window.webpackChunkdiscord_app.pop();
console.log('%cWorked!', 'font-size: 50px; color: green;');
console.log('%cYou now have your token in the clipboard!', 'font-size: 16px;');
How to get your user ID
  1. Open Discord and go to User Settings.
  2. Go to the Advanced tab and enable Developer Mode.
  3. Right-click your own profile and choose Copy User ID.

Commands

The default prefix is . and can be changed via the PREFIX env var, in data/config.js, or at runtime with setprefix.

Note

setprefix is triggered without a prefix (e.g. type setprefix !) — it's how you set or disable the prefix in the first place.

Command Description
setprefix <char> Change the command prefix (single character)
setprefix off Disable the prefix (use commands without one)
General
Command Description
.help [category/command] Show command list or command details
.credits Show developer credits
Rich Presence
Command Description
.rpc start Enable RPC
.rpc stop Disable RPC
.rpc type <streaming/watching/listening/playing> Set RPC type
.rpc mode <basic/advanced> Set RPC mode
.rpc img Set RPC image (attach an image)
.rpc btn <1/2> <text/disable> [link] Set RPC buttons
.ms Toggle music RPC visibility
AFK
Command Description
.afk [status] Set AFK with an optional status
.afk true [status] Set AFK and hide music
.afk off Disable AFK
Auto-Reactions
Command Description
.react add <user> <emojis...> Add auto-reactions for a user
.react rmv <user> <emojis...> Remove specific reactions
.react end <user> Remove all reactions for a user
.react list [user] List auto-reaction configs
.react trigger [user] Toggle reactions on/off

Flag: -multi enables reactions on all alt accounts.

Auto-Reply & Mimic
Command Description
.autoreply start <user> <message> Auto-reply to a user
.autoreply stop <user> Stop auto-replying
.mimic start <user> Mirror a user's messages
.mimic stop <user> Stop mimicking
Multi-Account
Command Description
.alts name <name> Set nickname on all alts
.alts status <status> Set status on all alts
.alts upload Upload tokens via attachment
.alts upload clear Clear all alt accounts
.clients [page/index] List loaded accounts
.join <code> [count] [boost] Join a server with tokens
Utility
Command Description
.purge <count> Delete your recent messages
.snipe Snipe the last deleted message
.editsnipe Snipe the last edited message
.nitrosnipe <on/off> Toggle Nitro gift sniping
.autodelete <start/end/list> <user> Auto-delete a user's messages
.user <user> Get user info
.voiceinvite Get the current VC invite link
.todo Task management (add/rmv/done/undo/list)
Fun
Command Description
.actions <action> <user> Perform an action (kiss, hug, slap, etc.)
.aura Check your aura
.chad How chad are you?
.cupsize Random cup size
.femboy Femboy percentage
.gay Gay percentage
.ppsize PP size
.sigma Sigma rating
.simp Simp percentage
.skibidi Skibidi rating
.sus Sus rating
Last.fm
Command Description
.nowplaying / .np Show the currently playing track
.recent Show recent tracks
.top Show top tracks

Project Structure

TooLazy/
├── bot.js                 # Entry point
├── data/
│   ├── config.js          # Main configuration
│   ├── files/             # Token files, word lists
│   └── logs/              # Command logs
├── commands/
│   ├── base/              # Credits, help
│   ├── chatpack/          # Spam, auto-reply, mimic
│   ├── fun/               # Fun commands
│   ├── lastfm/            # Last.fm integration
│   ├── multi/             # Multi-account management
│   ├── presence/          # RPC, AFK, quotes
│   └── utility/           # Snipe, purge, todo, etc.
├── events/                # Discord event handlers
├── handlers/              # Command/event/error loaders
├── models/                # MongoDB schemas
└── package.json

Contributing

Contributions are welcome — all of them. If you like the project and want to make it better, open a pull request; anything from a new command to a typo fix is fair game.

Not a coder, or just don't have the time to dig in? That's fine too. If you run into a bug or something acting weird, drop it in the Issues tab and I'll do my best to fix it.

Credits

Currently maintained by Reversal (@revxshafi).

Originally created by Resilience (@resilynx), who built it for fun and later abandoned it.

License

Released under the MIT License.

About

A Discord selfbot that does the boring stuff for you

Topics

Resources

Stars

4 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages