Includes full bot source (Phases 1–4), plus five new features: - Epic 1: emoji reaction state machine (👀⏳✅🎲) + burst queue cap at 2 with in-world drop notices - Epic 2: per-encounter tone field in YAML injected into LLM system prompt - Epic 3: player pronouns via modal registration + system prompt players block - Epic 4: strengthened skill_check_emit tool contract + missed-skill-check diagnostic Also includes UX design docs, epics, and story files under Docs/. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
28 lines
828 B
TypeScript
28 lines
828 B
TypeScript
// Run once per deploy (or whenever slash commands change):
|
|
// npm run deploy-commands
|
|
|
|
import { REST, Routes } from 'discord.js';
|
|
import 'dotenv/config';
|
|
import { config } from '../src/config.js';
|
|
import { data as dndnameData } from '../src/bot/commands/dndname.js';
|
|
import { data as encounterData } from '../src/bot/commands/encounter.js';
|
|
|
|
const commands = [dndnameData.toJSON(), encounterData.toJSON()];
|
|
|
|
const rest = new REST({ version: '10' }).setToken(config.DISCORD_TOKEN);
|
|
|
|
async function deploy(): Promise<void> {
|
|
console.log(`Registering ${commands.length} slash commands globally…`);
|
|
|
|
await rest.put(Routes.applicationCommands(config.DISCORD_CLIENT_ID), {
|
|
body: commands,
|
|
});
|
|
|
|
console.log('Done.');
|
|
}
|
|
|
|
deploy().catch((err) => {
|
|
console.error('deploy-commands failed:', err);
|
|
process.exit(1);
|
|
});
|