Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/onesoft-sudo/sudobot/llms.txt

Use this file to discover all available pages before exploring further.

SudoBot’s extension system lets you augment the bot with custom commands, event listeners, and services — all packaged as independent modules that can be installed, uninstalled, or disabled without touching the core codebase. Extensions can be written in TypeScript or JavaScript.

Official extensions

The repository ships with several officially supported extensions in the extensions/ directory:
ExtensionDescription
countingCounting game for Discord channels
nekoNeko/anime image commands
waifu.picsAnime image commands powered by waifu.pics
Prebuilt archives for these extensions are available in extensions/.extbuilds/.

How extensions work

Each extension lives in its own directory inside the extensions root (configured via EXTENSIONS_DIRECTORY in your .env). An extension consists of:
  • extension.json — metadata and build configuration
  • src/commands/ — custom slash commands
  • src/events/ — Discord event listeners
  • src/index.ts — the extension entry point
SudoBot automatically discovers and loads extensions from the configured directory when the bot starts.

Installing prebuilt extensions

1

Set the extensions directory

Add EXTENSIONS_DIRECTORY to your .env file pointing to where you want extensions installed:
.env
EXTENSIONS_DIRECTORY=/path/to/sudobot/installed_extensions
2

Create the directory

mkdir -p installed_extensions
3

Copy a prebuilt extension

Copy a prebuilt .tar.gz archive from extensions/.extbuilds/ into your extensions directory and extract it:
cp extensions/.extbuilds/counting.tar.gz installed_extensions/
cd installed_extensions && tar -xzf counting.tar.gz
4

Restart the bot

Restart SudoBot — it will automatically load the new extension on startup.
./blazew run

Next steps

Creating Extensions

Learn how to build your own custom extension with commands and event listeners.

Environment Variables

Configure the EXTENSIONS_DIRECTORY and other extension-related settings.

Build docs developers (and LLMs) love