diff --git a/src/bot/handlers/basic/currency_converter.rs b/src/bot/handlers/basic/currency_converter.rs index 57f854ce08a747c3f0182b976661ead578c3e656..870bebaead0d265b4c62609f3b3e2e0dbf86e871 100644 --- a/src/bot/handlers/basic/currency_converter.rs +++ b/src/bot/handlers/basic/currency_converter.rs @@ -146,12 +146,20 @@ impl Handler for CurrencyConverter { .or(cur_name) else{ continue; }; + let Some(nominal) = valutes + .get(cur_name) + .and_then(|info| info.get("Nominal")) + .map(ToString::to_string) + .and_then(|value| value.as_str().parse::<f64>().ok()) + else{ + continue; + }; let calculated = valutes .get(cur_name) .and_then(|info| info.get("Value")) .map(ToString::to_string) .and_then(|value| value.as_str().parse::<f64>().ok()) - .map(|multiplier| multiplier * num_value); + .map(|multiplier| multiplier * num_value / nominal); if let Some(value) = calculated { calucates.push(format!( "<pre>{num_value} {cur_name} = {value:.2} RUB</pre><br>" diff --git a/src/bot/handlers/fun/rotator.rs b/src/bot/handlers/fun/rotator.rs index db4511c9a159c989b0c82eabcd586014be2a094d..4bfbf7926c939c3170f4e223675f95882f4287ca 100644 --- a/src/bot/handlers/fun/rotator.rs +++ b/src/bot/handlers/fun/rotator.rs @@ -25,7 +25,7 @@ async fn rotator(replied_message: Message, text: String) { .collect::<String>(); skip += 1; if skip == rotated.len() { - skip = 0; + skip = 1; } replied_message.edit(rotated).await.ok(); current = std::time::SystemTime::now();