diff --git a/youmubot-osu/src/discord/mod.rs b/youmubot-osu/src/discord/mod.rs index ac77f8d..a417086 100644 --- a/youmubot-osu/src/discord/mod.rs +++ b/youmubot-osu/src/discord/mod.rs @@ -71,13 +71,16 @@ pub fn setup( // API client let http_client = data.get::().unwrap().clone(); - let osu_client = Arc::new(OsuHttpClient::new( - std::env::var("OSU_API_KEY").expect("Please set OSU_API_KEY as osu! api key."), - http_client.clone(), - )); + let mk_osu_client = || { + Arc::new(OsuHttpClient::new( + std::env::var("OSU_API_KEY").expect("Please set OSU_API_KEY as osu! api key."), + http_client.clone(), + )) + }; + let osu_client = mk_osu_client(); data.insert::(osu_client.clone()); data.insert::(oppai_cache::BeatmapCache::new( - http_client, + http_client.clone(), sql_client.clone(), )); data.insert::(beatmap_cache::BeatmapMetaCache::new( @@ -86,6 +89,7 @@ pub fn setup( )); // Announcer + let osu_client = mk_osu_client(); announcers.add( announcer::ANNOUNCER_KEY, announcer::Announcer::new(osu_client),