Use separate osu clients for announcer

This commit is contained in:
Natsu Kagami 2023-12-27 17:48:36 +01:00
parent ddb28c22ba
commit 125bc3bd61
Signed by: nki
GPG key ID: 55A032EB38B49ADB

View file

@ -71,13 +71,16 @@ pub fn setup(
// API client // API client
let http_client = data.get::<HTTPClient>().unwrap().clone(); let http_client = data.get::<HTTPClient>().unwrap().clone();
let osu_client = Arc::new(OsuHttpClient::new( let mk_osu_client = || {
Arc::new(OsuHttpClient::new(
std::env::var("OSU_API_KEY").expect("Please set OSU_API_KEY as osu! api key."), std::env::var("OSU_API_KEY").expect("Please set OSU_API_KEY as osu! api key."),
http_client.clone(), http_client.clone(),
)); ))
};
let osu_client = mk_osu_client();
data.insert::<OsuClient>(osu_client.clone()); data.insert::<OsuClient>(osu_client.clone());
data.insert::<oppai_cache::BeatmapCache>(oppai_cache::BeatmapCache::new( data.insert::<oppai_cache::BeatmapCache>(oppai_cache::BeatmapCache::new(
http_client, http_client.clone(),
sql_client.clone(), sql_client.clone(),
)); ));
data.insert::<beatmap_cache::BeatmapMetaCache>(beatmap_cache::BeatmapMetaCache::new( data.insert::<beatmap_cache::BeatmapMetaCache>(beatmap_cache::BeatmapMetaCache::new(
@ -86,6 +89,7 @@ pub fn setup(
)); ));
// Announcer // Announcer
let osu_client = mk_osu_client();
announcers.add( announcers.add(
announcer::ANNOUNCER_KEY, announcer::ANNOUNCER_KEY,
announcer::Announcer::new(osu_client), announcer::Announcer::new(osu_client),