ZeroTechBIGBROTHERBY ZEROTECHTECHNICAL PROFILE / NO-MUSIC BUILDBack to site←

INTERNAL SYSTEM MAP / BUILD 2026.09.19

STATS FOR
NERDS.

A technical view of how BigBrother starts, receives Discord events, evaluates risk, performs actions and stores the result.

EVENT ENTRY05MESSAGE / MEMBER / CHANNEL / ROLE / GUILD
LOG ROUTES04MODLOG / SERVERLOG / ANLOG / REPORTS
REPORT LIMIT10+AUTO-BLACKLIST THRESHOLD
PUBLIC SURFACE02PREFIX + SLASH, ONE SERVICE LAYER
01

HOW IT WORKS / END TO END

The working
parts.

Every Discord input follows a defined route. Handlers collect context, shared services decide what should happen, repositories persist the result, and the correct log records it.

01Discord input

Message, member, channel, role, guild event or command.

→
02Handler

Event listener or prefix/slash command validates the input shape.

→
03Permission gate

Owner, native permissions, hierarchy, roles and whitelist checks.

→
04Service layer

Moderation, security, reports, cases, invites or logging rules.

→
05Action engine

Delete, warn, timeout, quarantine, lock, rebuild or notify.

→
06Repository

Feature-specific async database access—no raw queries in commands.

→
07State + logs

SQLite persistence and the correct MODLOG, SERVERLOG, ANLOG or reports route.

ONE LOGIC PATH

Prefix and slash commands call the same service methods. Automatic events use those services too, so enforcement and logging stay consistent across interfaces.

02

WORKING ORDER / STARTUP

From process start
to active watch.

Database migration and command loading complete before the bot announces readiness. Guild role checks are spaced in the background.

  1. 01Load configEnvironment, owner IDs, branding and thresholds
  2. 02Initialize stateConnect database and apply additive migrations
  3. 03Create clientDiscord intents and dynamic prefix
  4. 04Load cogsCommands, events and shared services
  5. 05Sync + loginSlash commands, token and gateway session
  6. 06ReadyPresence set; blacklisted roles ensured
03

MESSAGE PIPELINE

Ordered checks.
Early exits.

The order matters: severe content checks run before configurable AutoMod and every matched branch stops further processing.

MESSAGE RECEIVEDCache for snipe first
↓
GATE 01Bot, DM or trusted?

Bot authors, non-guild messages, owner, admins and whitelisted members exit.

EXIT
GATE 02Racial slur?

Mute 24h, auto-report, notify, log and evaluate ban escalation.

PUNISH
GATE 03Absolute banword?

Apply severe punishment, record and stop.

PUNISH
GATE 04Normal banword?

Delete, warn, notify, aggregate and stop.

HANDLE
↓
CONFIGURABLE AUTOMODInvites → spam / flood / characters / repeats → GIF bursts
↓
COMMAND PROCESSINGHidden owner safeguards first; then normal prefix and slash commands
04

FILESYSTEM / RESPONSIBILITY MAP

Features stay in
their lane.

Commands parse and present. Services own business rules. Repositories own database access. Event modules connect Discord to those layers.

bot/events/Automatic entry points

Messages, joins, channel changes, role changes and guild setup.

bot/automod/Content filters

Slurs, word lists, repeats, character spam, invites and GIF detection.

bot/security/Threat detectors

Anti-Nuke, Anti-Raid, message rate, join rate and ping windows.

bot/services/Business logic

Moderation, logs, blacklists, cases, incidents, invites and actions.

bot/database/Persistent state

Models, additive migrations and one repository per feature domain.

bot/commands/User interfaces

Shared prefix and slash commands backed by the same services.

bot/nuke/Structure operations

Channel snapshots, server reconstruction, confirmations and owner recovery.

bot/botlogging/Log presentation

Purpose-built MODLOG, SERVERLOG and ANLOG embeds.

05

FULL FILESYSTEM

Where every
part lives.

The deployed no-music build separates Discord entry points, business logic, persistence and presentation into explicit packages.

BigBrother/
├── bot/main.py                  # startup, cogs, commands
├── bot/config.py                # env, owners, thresholds
├── bot/database/
│   ├── models.py                # configs, reports, cases, state
│   ├── migrate.py               # additive schema updates
│   └── repositories/
│       ├── guild_config_repository.py
│       ├── banword_repository.py
│       ├── report_repository.py
│       ├── case_repository.py
│       ├── warning_repository.py
│       ├── whitelist_repository.py
│       ├── reaction_role_repository.py
│       ├── troll_state_repository.py
│       ├── incident_repository.py
│       ├── temp_action_repository.py
│       ├── mod_note_repository.py
│       └── command_access_repository.py
├── bot/events/
│   ├── messages.py              # AutoMod, cache, delete logs
│   ├── members.py               # join, autorole, blacklist
│   ├── channels.py              # channel event logs
│   ├── roles.py                 # role event logs
│   └── guild.py                 # guild setup
├── bot/automod/
│   ├── racial_slurs.py
│   ├── word_filter.py
│   ├── spam.py
│   ├── character_spam.py
│   ├── invite_filter.py
│   └── gif_filter.py
├── bot/security/
│   ├── antinuke.py
│   ├── anti_raid.py
│   ├── spam_detector.py
│   ├── raid_detector.py
│   ├── ping_detector.py
│   └── base.py
├── bot/services/
│   ├── moderation_service.py
│   ├── logging_service.py
│   ├── blacklist_service.py
│   ├── case_service.py
│   ├── incident_service.py
│   ├── automod_aggregator.py
│   ├── permission_service.py
│   ├── invite_tracker.py
│   ├── action_engine.py
│   └── webhook_service.py
├── bot/nuke/
│   ├── server_nuke.py
│   ├── troll_sim.py
│   ├── channel_nuke.py
│   └── confirmation.py
├── bot/botlogging/
│   ├── modlog.py
│   ├── serverlog.py
│   └── anlog.py
├── bot/utils/                    # audit, cache, throttle
└── bot/commands/                 # prefix + slash cogs
    ├── moderation.py             ├── purge.py
    ├── warnings.py               ├── cases.py
    ├── notes.py                  ├── reports.py
    ├── banword.py                ├── absbanword.py
    ├── antinuke.py               ├── security_cmds.py
    ├── whitelist.py              ├── nuke.py
    ├── blacklist_cmd.py          ├── reaction_roles.py
    ├── autorole.py               ├── snipe.py
    ├── say.py                    ├── coinflip.py
    ├── logging_config.py         ├── config.py
    ├── setup.py                  ├── prefix.py
    ├── welcome_invites.py        ├── channel_lock.py
    ├── help.py                   ├── status.py
    ├── info_cmds.py              ├── staff_panel.py
    └── member_qol.py

AUTOMATIC

Runs without a command.

  • Message filters from severe content to flood detection
  • Delete, channel, role and timeout event logs
  • Join autorole, welcome and invite attribution
  • Blacklisted-role creation and enforcement
  • 10+ reports trigger automatic blacklist escalation
  • Deleted-message cache powers media-aware snipe

OPERATOR-DRIVEN

Runs with intent.

  • Moderation, purge, cases, notes and warnings
  • Security status, incident history, lock and unlock
  • Log channels, roles, prefix and AutoMod configuration
  • Reports, manual blacklist and reaction-role setup
  • Confirmed channel or server reconstruction
  • Multipage help, status and staff control panel
06

LOG ROUTING

One event.
Correct destination.

Logging is separated by operational purpose so routine moderation does not create raid-level owner noise.

MOD ACTIONS + /SAYMODLOGModerator, target, reason, action and cases
DELETES + SERVER EVENTSSERVERLOGMessages, channels, roles and actor attribution
RAID / NUKE / SECURITYANLOGOwner alerting reserved mainly for high-risk events
MEMBER REPORTSREPORTSReporter, target, reason and running count
BACK-OFF POLICY

logging_service and api_throttle.safe_delete cool down after Discord 429 or Cloudflare 1015 responses instead of repeatedly hitting a limited route.

429 / 1015 AWARE
07

REPORT ESCALATION

Signal becomes
enforcement.

Report identities stay in the staff log, while public count checks reveal only the total.

01Reason required

Missing reason returns a private error.

→
02Persist + route

Database row and reports-channel log.

→
03Count target

Evaluate accumulated reports.

→
0410+ escalation

Strip roles, apply Blacklisted and DM.

OWNER-ONLY / NOT IN HELP

Contained recovery simulation.

A prefix-only owner safeguard can create a large isolated channel simulation and later remove only the bot-created resources. Protected channel IDs can be skipped. Trigger strings remain intentionally undocumented.

RESTRICTED PATH
REMOVED MODULE

Music / DJ BigBro is not part of this build.

No music package, play commands, voice pipeline, yt-dlp or Wavelink dependency is present.