recycleactor commited on
Commit
5e396bc
·
verified ·
1 Parent(s): edd98fd

Upload main.rs

Browse files
Files changed (1) hide show
  1. src/main.rs +8 -6
src/main.rs CHANGED
@@ -1085,7 +1085,7 @@ async fn send_audio(
1085
  // ровно 10.0с — таймаут коннекта, а не медленную передачу данных).
1086
  let is_flac = ext == "flac";
1087
  let tg_method = if is_flac { "sendDocument" } else { "sendAudio" };
1088
- let tg_url = format!("https://api.telegram.org/bot{}/{}", bot_token, tg_method);
1089
  let tg_http = state.tg_http.clone();
1090
 
1091
  // sendDocument не знает полей title/performer/duration (это специфика sendAudio) —
@@ -4029,17 +4029,19 @@ async fn main() {
4029
  arl_store_load(&state).await;
4030
  pair_store_load(&state).await;
4031
 
4032
- // Прогреваем DNS+TLS до api.telegram.org сразу при старте контейнера,
4033
- // а не на первом реальном /send_audio. Именно на "холодном" первом
4034
- // запросе после старта конекты к Telegram чаще всего не укладываются
 
 
4035
  // в connect_timeout.
4036
  if let Ok(bot_token) = std::env::var("BOT_TOKEN") {
4037
  if !bot_token.is_empty() {
4038
  let warm_client = state.tg_http.clone();
4039
  tokio::spawn(async move {
4040
- let url = format!("https://api.telegram.org/bot{}/getMe", bot_token);
4041
  match warm_client.get(&url).send().await {
4042
- Ok(_) => tracing::info!("Telegram connection pre-warmed"),
4043
  Err(e) => tracing::warn!("Telegram warm-up failed (non-fatal): {}", e),
4044
  }
4045
  });
 
1085
  // ровно 10.0с — таймаут коннекта, а не медленную передачу данных).
1086
  let is_flac = ext == "flac";
1087
  let tg_method = if is_flac { "sendDocument" } else { "sendAudio" };
1088
+ let tg_url = format!("https://deezer-proxy.xyisterio.workers.dev/bot{}/{}", bot_token, tg_method);
1089
  let tg_http = state.tg_http.clone();
1090
 
1091
  // sendDocument не знает полей title/performer/duration (это специфика sendAudio) —
 
4029
  arl_store_load(&state).await;
4030
  pair_store_load(&state).await;
4031
 
4032
+ // Прогреваем DNS+TLS до Telegram (через прокси-воркер — прямой доступ
4033
+ // к api.telegram.org с этого хостинга заблокирован на сетевом уровне,
4034
+ // см. https://deezer-proxy.xyisterio.workers.dev) сразу при старте
4035
+ // контейнера, а не на первом реальном /send_audio. Именно на "холодном"
4036
+ // первом запросе после старта конекты чаще всего не укладываются
4037
  // в connect_timeout.
4038
  if let Ok(bot_token) = std::env::var("BOT_TOKEN") {
4039
  if !bot_token.is_empty() {
4040
  let warm_client = state.tg_http.clone();
4041
  tokio::spawn(async move {
4042
+ let url = format!("https://deezer-proxy.xyisterio.workers.dev/bot{}/getMe", bot_token);
4043
  match warm_client.get(&url).send().await {
4044
+ Ok(_) => tracing::info!("Telegram connection pre-warmed (via proxy)"),
4045
  Err(e) => tracing::warn!("Telegram warm-up failed (non-fatal): {}", e),
4046
  }
4047
  });