Skip to content

Discord Bot that enhances the Discord Activities experience.

License

Notifications You must be signed in to change notification settings

EthanC/Astrocade

Repository files navigation

Astrocade

Python GitHub Workflow Status Docker Pulls Docker Image Size (tag)

Astrocade is a Discord Bot that enhances the Discord Activities experience.

Features

  • Wordle stat tracking, history, and leaderboards.

Wordle Commands

Getting Started

Quick Start: Docker (Recommended)

Important

Discord API credentials for a Bot user are required.

Edit and run this compose.yaml example with docker compose up -d.

services:
  astrocade:
    container_name: astrocade
    image: ethanchrisp/astrocade:latest
    environment:
      LOG_LEVEL: INFO
      LOG_DISCORD_WEBHOOK_URL: https://discord.com/api/webhooks/XXXXXXXX/XXXXXXXX
      LOG_DISCORD_WEBHOOK_LEVEL: WARNING
      DISCORD_BOT_TOKEN: XXXXXXXX
      DISCORD_SERVER_IDS: 0000000000
    volumes:
      - /path/to/database.db:/astrocade/astrocade.db
    restart: unless-stopped

Standalone

Note

Astrocade targets Python 3.14 and newer. Compatibility with earlier versions is not guaranteed.

Install Python and the required dependencies with uv:

uv sync

Rename .env.example to .env and configure your environment.

Run Astrocade with uv.

uv run astrocade.py -OO

Configuration

All configuration is managed through environment variables on the system hosting the Bot instance.

Environment Variable Description Default
LOG_LEVEL Loguru level of log events to print to the console. INFO
LOG_DISCORD_WEBHOOK_URL Discord Webhook URL to forward log events to. N/A
LOG_DISCORD_WEBHOOK_LEVEL Loguru level of log events to forward to Discord. N/A
DATABASE_PATH Path to where the SQLite Database is stored. ./astrocade.db
DISCORD_BOT_TOKEN (Required) Discord API credentials for your Bot user. N/A
DISCORD_SERVER_IDS (Required) Comma-separated list of Discord server IDs to sync commands to. N/A
WORDLE_BOT_ID User ID of the Wordle Discord Activity Bot user. 1211781489931452447
WORDLE_POINTS_ATTEMPTS_1 Number of points awarded for a Wordle puzzle completion in 1 attempt. 10
WORDLE_POINTS_ATTEMPTS_2 Number of points awarded for a Wordle puzzle completion in 2 attempts. 5
WORDLE_POINTS_ATTEMPTS_3 Number of points awarded for a Wordle puzzle completion in 3 attempts. 4
WORDLE_POINTS_ATTEMPTS_4 Number of points awarded for a Wordle puzzle completion in 4 attempts. 3
WORDLE_POINTS_ATTEMPTS_5 Number of points awarded for a Wordle puzzle completion in 5 attempts. 2
WORDLE_POINTS_ATTEMPTS_6 Number of points awarded for a Wordle puzzle completion in 6 attempts. 1
WORDLE_POINTS_FAIL Number of points deducted for a failed Wordle puzzle completion. -5
DICTIONARY_API_KEY Free API Key for the Merriam-Webster Collegiate Dictionary. N/A

Disclaimer

Astrocade is not affiliated with or endorsed by Activision, Discord, or The New York Times.

All trademarks and assets belong to their respective owners.