Discord bot for CMU Courses, CMU Eats, and other ScottyLabs services
  • TypeScript 99.2%
  • Nix 0.8%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
TenType 56c031a38a
Some checks failed
kennel/build build succeeded
kennel/deploy deployment healthy
CI / check (push) Failing after 0s
CI / check-1 (push) Failing after 7s
CI / build (push) Failing after 7s
docs: expand and revise SETUP.md
add an instruction to check that the Privileged Gateway Intents are enabled, recommend the Administrator permission, state the bot should go online if it works, along with other minor tweaks to improve clarity
2026-09-29 01:29:01 -04:00
.forgejo chore: update ci checks to kennel 2026-09-26 23:54:23 -04:00
.vscode fix: change extension settings 2026-06-20 11:58:19 +05:30
docs docs: expand and revise SETUP.md 2026-09-29 01:29:01 -04:00
drizzle/20251216201838_powerful_turbo chore: add ci workflow to check, format, and lint (#83) 2026-01-17 17:10:02 -08:00
src style: treefmt and clean up lint errors 2026-09-29 00:41:32 -04:00
tests feat: add parser tests 2026-07-23 18:29:33 -04:00
.editorconfig feat: update secretspec.toml 2026-06-09 14:54:23 -07:00
.env.example feat: use devenv, migrate to deno, and include secretspec (#194) 2026-06-08 05:06:14 +02:00
.gitignore chore: remove some unneeded .gitignore 2026-07-23 12:02:08 -04:00
.oxlintrc.json feat: migrate some parts to more deno-friendly patterns 2026-06-20 11:58:18 +05:30
biome.jsonc fix: exclude biome.jsonc from treefmt to match CI format check 2026-06-04 01:32:00 -04:00
CODEOWNERS chore: remove redundancy in CODEOWNERS 2026-07-23 12:03:18 -04:00
deno.json feat: add compile task 2026-06-25 23:03:55 +05:30
deno.lock feat: re-introduce tests 2026-06-20 18:24:29 +02:00
devenv.lock chore: update devenv and flake with new gcd changes 2026-09-26 18:02:26 -04:00
devenv.nix fix: devenv secrets vault address 2026-09-26 23:32:03 -04:00
devenv.yaml chore: update devenv and flake with new gcd changes 2026-09-26 18:02:26 -04:00
docker-compose.yml style: treefmt 2026-06-14 23:22:48 -04:00
drizzle.config.ts Revert "fix: read env vars via process.env for Bun runtime on Kennel" 2026-06-09 20:43:32 -04:00
flake.lock chore: update devenv and flake with new gcd changes 2026-09-26 18:02:26 -04:00
flake.nix chore: update devenv and flake with new gcd changes 2026-09-26 18:02:26 -04:00
LICENSE-APACHE-2.0 chore: update to devops standards (#20) 2025-10-24 15:14:13 -04:00
LICENSE-MIT chore: update to devops standards (#20) 2025-10-24 15:14:13 -04:00
README.md docs: add kennel auth command to the README 2026-09-28 23:50:08 -04:00
secretspec.toml chore: update ci checks to kennel 2026-09-26 23:54:23 -04:00

Dalmatian

Dalmatian is a Discord bot designed for CMU students, providing easy access to campus resources like CMU Courses and CMU Eats right at your fingertips!

Getting Started

Prerequisites

  • devenv - provides Deno and other tooling via Nix

Setup

For detailed setup instructions including creating a Discord bot, obtaining API credentials, and configuring your development environment, see docs/SETUP.md.

Quick setup:

  1. Install devenv (see link above)
  2. Create a Discord bot at https://discord.com/developers/applications and invite it to a server you can test in
  3. Get your DISCORD_TOKEN and DISCORD_CLIENT_ID and put them in .env:
    cp .env.example .env
    # Edit .env with your Discord bot credentials
    

Running the Bot

Authenticate once per machine with:

nix run git+https://git.cmu.dev/ScottyLabs/kennel#login

Then start the bot and a local PostgreSQL database:

devenv up

Database migrations and slash command registration happen automatically when the bot starts. The first run may take a while as devenv downloads its tooling.

Deployment

Production runs on Kennel via devenv and secretspec.

Contributing

Please read CONTRIBUTING.md before you contribute to this project!