Skip to content

Repository files navigation

N31L

GitHub Workflow Status

N31L is a utilitarian Discord bot for the Call of Duty server.

Features

Notice: N31L is purpose-built, this means that its functionality is intended only for the Moderators of the Call of Duty server. This repository has been made open source for educational purposes, N31L will likely not fit your needs.

  • Modern, interaction-based Discord bot utilizing the application commands API
  • Designed to expand and enhance the Discord Moderator toolset
  • Thread and forum post management
  • LOTS of animal and food commands

Setup

Discord API credentials are required for functionality, and a Discord Webhook is recommended for notifications.

Docker (Recommended)

Rename config_example.json to config.json, then provide the configurable variables.

Modify the following compose.yaml example file, then run docker compose up.

services:
  n31l:
    container_name: n31l
    image: ghcr.io/ethanc/n31l:latest
    environment:
      PUID: 1000
      PGID: 1000
      LOG_LEVEL: INFO
      LOG_DISCORD_WEBHOOK_URL: https://discord.com/api/webhooks/XXXXXXXX/XXXXXXXX
      LOG_DISCORD_WEBHOOK_LEVEL: WARNING
      DISCORD_TOKEN: XXXXXXXX
      DISCORD_SERVER_ID: 0000000000
      CAT_API_KEY: XXXXXXXXXX
      DOG_API_KEY: XXXXXXXXXX
      REDDIT_USERNAME: XXXXXXXXXX
      REDDIT_PASSWORD: XXXXXXXXXX
      REDDIT_CLIENT_ID: XXXXXXXXXX
      REDDIT_CLIENT_SECRET: XXXXXXXXXX
    volumes:
      - /path/to/config.json:/n31l/config.json:ro
    restart: unless-stopped
Environment variable Default Scope Description
PUID 1000 Docker container User ID used to run N31L and own its writable directories.
PGID 1000 Docker container Group ID used to run N31L and own its writable directories.

Standalone

N31L is built for Python 3.14 or greater.

  1. Install required dependencies using uv: uv sync
  2. Rename .env.example to .env, then provide the environment variables.
  3. Rename config_example.json to config.json, then provide the configurable variables.
  4. Start N31L: python -OO n31l.py

Sponsor this project

Packages

Used by

Contributors

Languages