diff --git a/src/bot/handlers/basic/currency_converter.rs b/src/bot/handlers/basic/currency_converter.rs index 57f854c..870beba 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::().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::().ok()) - .map(|multiplier| multiplier * num_value); + .map(|multiplier| multiplier * num_value / nominal); if let Some(value) = calculated { calucates.push(format!( "
{num_value} {cur_name} = {value:.2} RUB

" diff --git a/src/bot/handlers/fun/rotator.rs b/src/bot/handlers/fun/rotator.rs index db4511c..4bfbf79 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::(); skip += 1; if skip == rotated.len() { - skip = 0; + skip = 1; } replied_message.edit(rotated).await.ok(); current = std::time::SystemTime::now();