feat!: first pass re-implementation of banner, gcal command

This commit is contained in:
2025-08-26 20:53:21 -05:00
parent 5018ad0d31
commit 31ab29c2f1
24 changed files with 2234 additions and 27 deletions

25
src/bot/commands/ics.rs Normal file
View File

@@ -0,0 +1,25 @@
//! ICS command implementation for generating calendar files.
use crate::bot::{Context, Error};
/// Generate an ICS file for a course
#[poise::command(slash_command, prefix_command)]
pub async fn ics(
ctx: Context<'_>,
#[description = "Course Reference Number (CRN)"] crn: i32,
) -> Result<(), Error> {
ctx.defer().await?;
// TODO: Get BannerApi from context or global state
// TODO: Get current term dynamically
let term = 202510; // Hardcoded for now
// TODO: Implement actual ICS file generation
ctx.say(format!(
"ICS command not yet implemented - BannerApi integration needed\nCRN: {}, Term: {}",
crn, term
))
.await?;
Ok(())
}