Skip to content

Feature: Direct Download to Offsite Radar Archive #297

Description

@full-bars

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

  1. Set up authentication and transfer method (rsync/rclone)
  2. Implement basic file transfer in /download command
  3. Add event folder management via Discord commands
  4. 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)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions