Set up the /download function to send radar files directly to an offsite radar archive server instead of uploading to Discord.
Current Behavior
- /download command saves radar files to Discord as attachments
- Files don't persist in organized archive
- Limited by Discord storage and API constraints
Desired Behavior
- /download sends files directly to offsite archive server
- Files organized into event folders matching existing archive structure
- Ability to create event folders via Discord commands
- Persistent, organized archive of all downloaded radar data
Key Decisions Needed
Transfer Method
- rsync: Traditional, reliable, incremental sync, needs SSH access
- rclone: Flexible, supports many backends/protocols, good for remote servers
- Syncthing: P2P real-time sync (possibly overkill for this use case)
- SFTP: Simple file transfer, easy authentication
- SMB/NFS: If archive is on local network
Recommendation: Start with rsync or rclone with SSH for security. Rsync good for incremental updates; rclone if you want more flexibility in backend options.
Archive Organization
- Date-based structure:
YYYY/MM/DD/event_name/
- Event-based structure:
events/VTEC_ID/ with metadata
- Hybrid:
YYYY/MM/DD/VTEC_ID/ with event metadata JSON
Suggestion: Store event metadata (VTEC codes, event name, location, date range) in event.json in each folder for easy querying later.
Discord Integration for Event Management
/archive-event create <name> <date> — creates folder on server, returns event ID
/archive-event list — shows recent/active events
/archive-event delete <event-id> — removes folder (with confirmation)
- Tag downloads with event ID:
/download <radar-type> --event <event-id>
Implementation Phases
- Set up authentication and transfer method (rsync/rclone)
- Implement basic file transfer in /download command
- Add event folder management via Discord commands
- Implement archive querying/listing
Related Considerations
- Error handling: what if server is unreachable? (queue and retry?)
- Bandwidth: any transfer rate limits needed?
- Deduplication: check if file already exists before transferring?
- Logging: track all uploads and their destinations
Files to Modify
/download command handler
- Add new event management commands
- Add archive server configuration (server credentials, path, etc.)
- New module for transfer logic (rsync/rclone wrapper)
Set up the /download function to send radar files directly to an offsite radar archive server instead of uploading to Discord.
Current Behavior
Desired Behavior
Key Decisions Needed
Transfer Method
Recommendation: Start with rsync or rclone with SSH for security. Rsync good for incremental updates; rclone if you want more flexibility in backend options.
Archive Organization
YYYY/MM/DD/event_name/events/VTEC_ID/with metadataYYYY/MM/DD/VTEC_ID/with event metadata JSONSuggestion: Store event metadata (VTEC codes, event name, location, date range) in
event.jsonin each folder for easy querying later.Discord Integration for Event Management
/archive-event create <name> <date>— creates folder on server, returns event ID/archive-event list— shows recent/active events/archive-event delete <event-id>— removes folder (with confirmation)/download <radar-type> --event <event-id>Implementation Phases
Related Considerations
Files to Modify
/downloadcommand handler