feat: add /trip slash commands + add trips & itinerary system

New /trips router with full CRUD, attendee management, and nested
events. Events validate date is within parent trip range and inherit
trip location when not explicitly set. Leaving a trip cascades
removal from all its events.

New TripCommands cog with /trip create, list, view, delete, join,
leave and /trip event add, remove, join, leave. Event autocomplete
is scoped to the selected trip. Enforces must-be-on-trip rule for
event joins with a clear error message.
This commit is contained in:
Logan
2026-06-20 23:25:08 -04:00
parent a4962d7b0e
commit fb096d582d
6 changed files with 730 additions and 1 deletions
+1
View File
@@ -12,6 +12,7 @@ class DRBBot(commands.Bot):
async def setup_hook(self):
await self.load_extension("app.commands.radio")
await self.load_extension("app.commands.trips")
if settings.dev_guild_id:
guild = discord.Object(id=settings.dev_guild_id)