N31L is a utilitarian Discord bot for the Call of Duty server.
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
Discord API credentials are required for functionality, and a Discord Webhook is recommended for notifications.
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: ethanchrisp/n31l:latest
environment:
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
N31L is built for Python 3.13 or greater.
- Install required dependencies using uv:
uv sync
- Rename
.env.example
to.env
, then provide the environment variables. - Rename
config_example.json
toconfig.json
, then provide the configurable variables. - Start N31L:
python -OO n31l.py