Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Repository files navigation

Dismoy

All-in-one Discord selfbot — moderation, utility, fun, monitoring.
Hybrid plugin system · Triple distribution (pip · npm · git clone)

Version Python Node discord.py-self License Preview

🇬🇧 English · 🇮🇩 Bahasa Indonesia


Quick Start

Three ways to install:

npm (easiest — handles venv + deps automatically):

npm install -g dismoy
dmy

pip:

pip install dismoy
dismoy

git clone:

git clone https://github.com/mocasus/dismoy.git
cd dismoy
pip install -r requirements.txt
python main.py

On first run, an interactive setup wizard guides you through:

  1. Enter your Discord user token
  2. Choose command prefix (default !)
  3. Select which modules to enable
  4. Configure module-specific settings (optional)

Config is saved to ~/.dismoy/config.yaml.

Overview

Dismoy is a Discord selfbot — it automates actions on a Discord user account (not a bot account) by connecting to Discord's gateway using the same protocol as the desktop client.

Why a selfbot? Regular Discord bots require bot tokens from the Developer Portal and have limitations — can't read DM history, can't join servers without permissions, different rate limits. A selfbot operates as your actual user account, bypassing these constraints.

Warning

Selfbots violate Discord's Terms of Service. Using automated tools on your user account can result in account termination. This is an educational project. Use at your own risk.

Features

Four built-in modules + unlimited custom plugins:

Moderation — Keyword filter (auto-delete filtered words), flood guard (5 messages/5s → block), DM privacy (block non-friends)

Utility — AFK auto-reply, trigger-based auto-replies, scheduled messages, DM bulk cleaner, guild backup to JSON

Fun — Auto-react with emoji, nitro gift notifier, giveaway joiner, mass react (last 20 messages)

Monitoring — Message archive to JSONL, user status tracker, server activity feed, guild scraper (members + channels to JSON)

Commands

Prefix is configurable (default !).

Core
Command Description
!ping Check latency
!help Show all available commands
!modules Show module status
!reload Reload all modules
Moderation
Command Description
!filter add <word> Add a filtered keyword
!filter remove <word> Remove a filtered keyword
!filter list List all filtered keywords
!antispam Toggle flood guard
!dmguard Toggle DM privacy
Utility
Command Description
!afk [message] Set AFK mode (blank to disable)
!autoreply add <trigger> | <response> Add auto-reply rule
!autoreply remove <trigger> Remove auto-reply rule
!autoreply list List all auto-reply rules
!schedule <HH:MM> <message> Schedule a message
!dmclean <count> Delete your last N DM messages
!backup <guild_id> Export guild data to JSON
Fun
Command Description
!autoreact <emoji> Auto-react to all new messages
!autoreact off Disable auto-react
!massreact <emoji> React to last 20 messages
!sniper Toggle gift + giveaway notifier
!sniper status Show sniper status
Monitoring
Command Description
!log on / !log off Toggle message archive
!track <user_id> Track user online status
!track list List tracked users
!track clear Clear tracked users
!scrape <guild_id> Export members + channels to JSON
!activity Show recent activity feed

Plugin System

Drop a .py file in ~/.dismoy/plugins/ — it's auto-loaded on startup.

"""My custom plugin."""

async def setup(bot):
    """Called when plugin loads."""
    print("My plugin loaded!")

async def on_ready(bot):
    """Called when bot connects."""
    print(f"Connected as {bot.user}")

async def on_message(bot, message):
    """Called on every message."""
    if message.author.id == bot.user.id:
        return
    # Your logic here
Hook When Parameters
setup(bot) Plugin loads bot — DismoyBot instance
on_ready(bot) Discord connection ready bot
on_message(bot, message) Any message received bot, message

Plugins have full access to the discord.py-self client via bot.

Architecture

dismoy/
├── main.py                     # git clone entry point
├── pyproject.toml              # pip package config
├── dismoy/                     # core package
│   ├── cli.py                  # setup wizard + CLI dispatch
│   ├── bot.py                  # DismoyBot — gateway, events, modules
│   ├── config.py               # YAML config management
│   ├── modules/                # built-in modules
│   │   ├── moderation.py       # filter, flood guard, DM privacy
│   │   ├── utility.py          # AFK, auto-reply, schedule, backup
│   │   ├── fun.py              # auto-react, gift notifier, giveaway
│   │   └── monitoring.py       # archive, tracker, scraper, activity
│   ├── plugins/                # plugin system
│   │   ├── loader.py           # auto-discovery + load
│   │   └── example_plugin.py   # template with all hooks
│   └── utils/                  # helpers
│       ├── logger.py           # colored console output (rich)
│       └── helpers.py          # rate limiter, URL parsers
├── npm/                        # npm wrapper package
│   ├── package.json            # registers `dmy` command
│   └── cli.js                  # thin bridge: spawns Python subprocess
├── assets/                     # logo + banner
├── docs/                       # GitHub Pages landing page
└── .github/workflows/ci.yml    # Python 3.9–3.12 syntax checks

How it works: cli.py parses arguments → runs setup wizard if no config exists → bot.py creates a discord.py-self client → loads enabled modules → plugins/loader.py scans ~/.dismoy/plugins/*.py → all modules + plugins receive on_message events via the gateway.

Configuration

Config file: ~/.dismoy/config.yaml

token: "your_discord_user_token"
prefix: "!"

modules:
  moderation:
    enabled: true
    settings:
      filtered_words: ["spam", "scam"]
      antispam: false
      dmguard: false
  utility:
    enabled: true
    settings:
      auto_replies: {}
  fun:
    enabled: true
    settings:
      nitro_sniper: true
      giveaway_sniper: true
  monitoring:
    enabled: true
    settings:
      message_logging: false
      tracked_users: []

plugins:
  enabled: true
  directory: "~/.dismoy/plugins"

logging:
  level: "INFO"
  file: "~/.dismoy/logs/dismoy.log"

Distribution

Platform Command Entry Point
npm npm install -g dismoydmy npm wrapper spawns Python
PyPI pip install dismoydismoy Python CLI
GitHub git clonepython main.py Direct Python
Pages mocasus.github.io/dismoy Landing page

About

All-in-one Discord selfbot — moderation, utility, fun, monitoring. Hybrid plugin system.

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages