diff --git a/.vscode/settings.json b/.vscode/settings.json index 0a042bb..ad2d495 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -11,9 +11,12 @@ "gitlens.plusFeatures.enabled": false, "editor.guides.bracketPairs": true, "cSpell.words": [ + "actix", "clickhouse", "datalake", + "openapi", + "utoipa", "uuid", "Uuid" - ], + ] } diff --git a/libs/api/src/lib.rs b/libs/api/src/lib.rs index 28a6778..cc45af1 100644 --- a/libs/api/src/lib.rs +++ b/libs/api/src/lib.rs @@ -50,7 +50,7 @@ pub async fn init_api(config: Config, pool: Arc, http: Arc) - .bind((Ipv4Addr::UNSPECIFIED, port)) .map_err(|e| { error!("Failed to bind API server: {}", e); - })? + })? .run() .await .map_err(|e| { diff --git a/libs/bot/src/event/mod.rs b/libs/bot/src/event/mod.rs index aa742bb..3e460b1 100644 --- a/libs/bot/src/event/mod.rs +++ b/libs/bot/src/event/mod.rs @@ -5,7 +5,7 @@ use database::{ trivial_question::TrivialQuestion, trivial_round::TrivialRound, }; -use poise::serenity_prelude::{self as serenity, ActivityData, FullEvent}; +use poise::serenity_prelude::{self as serenity, ActivityData, CreateMessage, FullEvent}; use tracing::{info, span, Instrument}; pub async fn event_handler( @@ -131,6 +131,18 @@ pub async fn event_handler( *new_message.timestamp, )); inserter.write(&trivia_round.clone()).await?; + let optimize = TrivialRound::optimize_table_sql(); + match manager_pool.execute_with_retry(&optimize).await { + Ok(_) => {} + Err(e) => { + tracing::error!("Failed to optimize trivia round table: {}", e); + } + } + let builder = CreateMessage::new() + .content("Answer taken into account!") + .reference_message(new_message) + .flags(serenity::MessageFlags::EPHEMERAL); + channel_id.send_message(&ctx.http, builder).await?; Ok(()) } .instrument(span!(