Skip to content
FAZuHPublic

About

Discord bot for tracking anime and manga updates

Resources

Stars

2 stars

Watchers

0 watching

Forks

Repository files navigation

pwr-bot

Thin Discord plugin runner. It loads the plugins you name and registers the commands they declare.


● Installation  ● Preview  ● Usage  ● Features
● Docs  ● License

Installation

Create the Discord application and invite the bot first — see Discord Setup.

Docker Compose (Recommended)

  1. Clone the repository:

    git clone https://github.com/FAZuH/pwr-bot
    cd pwr-bot
  2. Copy the example environment file and set your values (see Configuration):

    cp .env-example .env
  3. Start the bot. See Usage.

Docker Run

Prepare a .env file (see Configuration), then run the container:

mkdir -p pwr-bot/data pwr-bot/logs && cd pwr-bot
docker run -d \
  --name pwr-bot \
  --restart unless-stopped \
  --env-file .env \
  -v $(pwd)/data:/app/data \
  -v $(pwd)/logs:/app/logs \
  ghcr.io/fazuh/pwr-bot:latest

To pass single variables instead of --env-file, use -e DISCORD_TOKEN="..." and -e ADMIN_ID="...".

Manual (Binary)

  1. Download the binary for your platform from GitHub Releases.
  2. Put a copy of .env-example next to the binary. Rename it to .env and set your values (see Configuration).
  3. On Linux or macOS, make the binary executable:
    chmod +x pwr-bot

Preview

These screens come from the feed plugin, which ships in this repo. The host shows whatever the enabled plugins declare.

Feed updates in DMs

Each new episode or chapter arrives as a rich embed: cover image, title, what changed, and a link to open it.

Feed update embed in a DM

Bulk subscribe

Subscribe to many titles at once. The bot confirms each one it added.

Subscribe confirmation embed listing added titles

Subscription overview

List every feed you follow with its source, last entry, and last update.

Subscriptions list embed with per-entry thumbnails

Server feed settings (feed plugin panel)

Per-guild panel: toggle feeds, pick the notification channel, and set who may subscribe.

Server feed settings with channel and permission selectors

Usage

Start the bot:

docker compose up -d    # Docker Compose install
./pwr-bot               # binary install

Check the log output (Docker Compose):

docker compose logs -f

Then try these commands in Discord (each command comes from the plugin or host part named beside it):

  • /feed subscribe <links> — subscribe to anime and manga feeds (feed plugin)
  • /feed list — show your subscriptions (feed plugin)
  • /vc stats — show your voice channel activity (voice plugin)
  • /settings — open one settings panel per enabled plugin (host)
  • /plugins list — show the plugin catalog and internal plugins (host)
  • /about — show bot information (host)

Command Registration

After the bot runs and joins your server, type !register_owner in a channel it can see. The bot responds with buttons — click Register in guild (immediate) or Register globally (can take up to one hour).

Register buttons response

Note

!register_owner needs your Discord user ID to match ADMIN_ID. Users in other servers with the "Administrator" or "Manage Server" permission can run !register or !unregister.

Configuration

The bot reads a .env file next to the binary or mounted into the container. The values you must set are DISCORD_TOKEN and ADMIN_ID; DB_URL points at PostgreSQL. Set INTERNAL_PLUGINS to name the internal plugins the host spawns at startup (default feed,voice,welcome). Pin external plugins in the catalog file (plugins.toml). Every variable and its default is in Configuration reference.

Features

  • Plugin runner host: The host spawns the internal plugins that INTERNAL_PLUGINS names, loads the external plugins that the catalog file pins, and registers the commands and views that their manifests declare. It also provides /about, /settings, /plugins, !register, and !unregister.
  • Feed plugin: Subscribe to updates from AniList, MangaDex, and Comick. The plugin sends the updates to your DMs or to a server channel, and provides its settings panel through /settings.
  • Voice plugin: The plugin measures the time members spend in voice channels. View server leaderboards and user rankings. Its settings panel opens through /settings.
  • Welcome plugin: The plugin owns the welcome-card renderer and its settings storage. It has no slash command; its settings panel opens through /settings.
  • External plugins: Add features with plugins pinned in a catalog file. See Plugin catalog.

Docs

License

pwr-bot is distributed under the terms of the MIT license.

About

Discord bot for tracking anime and manga updates

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages