From 002a986687c770c04ac8a5ab52c681d0e684ba88 Mon Sep 17 00:00:00 2001
From: Stefano Pigozzi <me@steffo.eu>
Date: Thu, 6 Feb 2025 08:57:29 +0100
Subject: [PATCH] Update dependencies and bump version

---
 Cargo.lock                                | 159 ++++++++++++++++------
 Cargo.toml                                |  10 +-
 src/services/telegram/commands/answer.rs  |   5 +-
 src/services/telegram/commands/fortune.rs |   9 +-
 src/services/telegram/commands/roll.rs    |   9 +-
 5 files changed, 130 insertions(+), 62 deletions(-)

diff --git a/Cargo.lock b/Cargo.lock
index 97b4f960..46fe75f5 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -58,7 +58,7 @@ dependencies = [
  "proc-macro-error",
  "proc-macro2",
  "quote",
- "syn 2.0.71",
+ "syn 2.0.98",
 ]
 
 [[package]]
@@ -242,7 +242,7 @@ dependencies = [
  "proc-macro2",
  "quote",
  "strsim 0.11.1",
- "syn 2.0.71",
+ "syn 2.0.98",
 ]
 
 [[package]]
@@ -264,7 +264,7 @@ checksum = "d336a2a514f6ccccaa3e09b02d41d35330c07ddf03a62165fcec10bb561c7806"
 dependencies = [
  "darling_core 0.20.10",
  "quote",
- "syn 2.0.71",
+ "syn 2.0.98",
 ]
 
 [[package]]
@@ -277,7 +277,7 @@ dependencies = [
  "proc-macro2",
  "quote",
  "rustc_version",
- "syn 2.0.71",
+ "syn 2.0.98",
 ]
 
 [[package]]
@@ -304,7 +304,7 @@ dependencies = [
  "dsl_auto_type",
  "proc-macro2",
  "quote",
- "syn 2.0.71",
+ "syn 2.0.98",
 ]
 
 [[package]]
@@ -324,7 +324,7 @@ version = "0.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "209c735641a413bc68c4923a9d6ad4bcb3ca306b794edaa7eb0b3228a99ffb25"
 dependencies = [
- "syn 2.0.71",
+ "syn 2.0.98",
 ]
 
 [[package]]
@@ -347,7 +347,7 @@ dependencies = [
  "heck 0.5.0",
  "proc-macro2",
  "quote",
- "syn 2.0.71",
+ "syn 2.0.98",
 ]
 
 [[package]]
@@ -496,7 +496,7 @@ checksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.71",
+ "syn 2.0.98",
 ]
 
 [[package]]
@@ -537,7 +537,19 @@ checksum = "c4567c8db10ae91089c99af84c68c38da3ec2f087c3f82960bcdbf3656b6f4d7"
 dependencies = [
  "cfg-if",
  "libc",
- "wasi",
+ "wasi 0.11.0+wasi-snapshot-preview1",
+]
+
+[[package]]
+name = "getrandom"
+version = "0.3.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "43a49c392881ce6d5c3b8cb70f98717b7c07aabbdff06687b9030dbfbe2725f8"
+dependencies = [
+ "cfg-if",
+ "libc",
+ "wasi 0.13.3+wasi-0.2.2",
+ "windows-targets 0.52.6",
 ]
 
 [[package]]
@@ -562,7 +574,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "d2ebc8013b4426d5b81a4364c419a95ed0b404af2b82e2457de52d9348f0e474"
 dependencies = [
  "combine",
- "thiserror",
+ "thiserror 1.0.62",
 ]
 
 [[package]]
@@ -991,9 +1003,9 @@ checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3"
 
 [[package]]
 name = "micronfig"
-version = "0.3.0"
+version = "1.0.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "eb56db91b2864825a800703ccaeb9f17cec13f606adde85f774525a74b89c0aa"
+checksum = "20e33fe75c434c84e6f34255021168fcea900b5e9d87c4f9503661c4112e3baa"
 dependencies = [
  "micronfig_macros",
  "regex",
@@ -1001,12 +1013,12 @@ dependencies = [
 
 [[package]]
 name = "micronfig_macros"
-version = "0.3.0"
+version = "1.0.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a567fdbbc6155f0a8b18caa80aa8ffa2d661c46455ce8e01ba68a039f9cac979"
+checksum = "ab4b1d10ee30b0ebb3a1d3a2f91a91cee3fb2ef6e8beffb810b1c7807de2a071"
 dependencies = [
  "quote",
- "syn 2.0.71",
+ "syn 2.0.98",
 ]
 
 [[package]]
@@ -1068,7 +1080,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "a4a650543ca06a924e8b371db273b2756685faae30f8487da1b56505a8f78b0c"
 dependencies = [
  "libc",
- "wasi",
+ "wasi 0.11.0+wasi-snapshot-preview1",
  "windows-sys 0.48.0",
 ]
 
@@ -1156,7 +1168,7 @@ checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.71",
+ "syn 2.0.98",
 ]
 
 [[package]]
@@ -1179,9 +1191,9 @@ dependencies = [
 
 [[package]]
 name = "parse_datetime"
-version = "0.6.0"
+version = "0.7.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a8720474e3dd4af20cea8716703498b9f3b690f318fa9d9d9e2e38eaf44b96d0"
+checksum = "ae130e79b384861c193d6016a46baa2733a6f8f17486eb36a5c098c577ce01e8"
 dependencies = [
  "chrono",
  "nom",
@@ -1211,7 +1223,7 @@ checksum = "2f38a4412a78282e09a2cf38d195ea5420d15ba0602cb375210efbc877243965"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.71",
+ "syn 2.0.98",
 ]
 
 [[package]]
@@ -1283,9 +1295,9 @@ dependencies = [
 
 [[package]]
 name = "proc-macro2"
-version = "1.0.86"
+version = "1.0.93"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5e719e8df665df0d1c8fbfd238015744736151d4445ec0836b8e628aae103b77"
+checksum = "60946a68e5f9d28b0dc1c21bb8a97ee7d018a8b322fa57838ba31cc878e22d99"
 dependencies = [
  "unicode-ident",
 ]
@@ -1301,20 +1313,20 @@ dependencies = [
 
 [[package]]
 name = "rand"
-version = "0.8.5"
+version = "0.9.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404"
+checksum = "3779b94aeb87e8bd4e834cee3650289ee9e0d5677f976ecdb6d219e5f4f6cd94"
 dependencies = [
- "libc",
  "rand_chacha",
  "rand_core",
+ "zerocopy",
 ]
 
 [[package]]
 name = "rand_chacha"
-version = "0.3.1"
+version = "0.9.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88"
+checksum = "d3022b5f1df60f26e1ffddd6c66e8aa15de382ae63b3a0c1bfc0e4d3e3f325cb"
 dependencies = [
  "ppv-lite86",
  "rand_core",
@@ -1322,11 +1334,12 @@ dependencies = [
 
 [[package]]
 name = "rand_core"
-version = "0.6.4"
+version = "0.9.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c"
+checksum = "b08f3c9802962f7e1b25113931d94f43ed9725bebc59db9d0c3e9a23b67e15ff"
 dependencies = [
- "getrandom",
+ "getrandom 0.3.1",
+ "zerocopy",
 ]
 
 [[package]]
@@ -1461,7 +1474,7 @@ checksum = "c17fa4cb658e3583423e915b9f3acc01cceaee1860e33d59ebae66adc3a2dc0d"
 dependencies = [
  "cc",
  "cfg-if",
- "getrandom",
+ "getrandom 0.2.15",
  "libc",
  "spin",
  "untrusted",
@@ -1470,7 +1483,7 @@ dependencies = [
 
 [[package]]
 name = "royalnet"
-version = "2024.10.31"
+version = "2025.2.6"
 dependencies = [
  "anyhow",
  "chrono",
@@ -1487,7 +1500,7 @@ dependencies = [
  "reqwest 0.12.5",
  "serde",
  "teloxide",
- "thiserror",
+ "thiserror 2.0.11",
  "tokio",
 ]
 
@@ -1635,7 +1648,7 @@ checksum = "e0cd7e117be63d3c3678776753929474f3b04a43a080c744d6b0ae2a8c28e222"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.71",
+ "syn 2.0.98",
 ]
 
 [[package]]
@@ -1754,9 +1767,9 @@ dependencies = [
 
 [[package]]
 name = "syn"
-version = "2.0.71"
+version = "2.0.98"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b146dcf730474b4bcd16c311627b31ede9ab149045db4d6088b3becaea046462"
+checksum = "36147f1a48ae0ec2b5b3bc5b537d267457555a10dc06f3dbc8cb11ba3006d3b1"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -1827,7 +1840,7 @@ dependencies = [
  "serde_json",
  "teloxide-core",
  "teloxide-macros",
- "thiserror",
+ "thiserror 1.0.62",
  "tokio",
  "tokio-stream",
  "tokio-util",
@@ -1857,7 +1870,7 @@ dependencies = [
  "serde_with",
  "take_mut",
  "takecell",
- "thiserror",
+ "thiserror 1.0.62",
  "tokio",
  "tokio-util",
  "url",
@@ -1903,7 +1916,16 @@ version = "1.0.62"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "f2675633b1499176c2dff06b0856a27976a8f9d436737b4cf4f312d4d91d8bbb"
 dependencies = [
- "thiserror-impl",
+ "thiserror-impl 1.0.62",
+]
+
+[[package]]
+name = "thiserror"
+version = "2.0.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d452f284b73e6d76dd36758a0c8684b1d5be31f92b89d07fd5822175732206fc"
+dependencies = [
+ "thiserror-impl 2.0.11",
 ]
 
 [[package]]
@@ -1914,7 +1936,18 @@ checksum = "d20468752b09f49e909e55a5d338caa8bedf615594e9d80bc4c565d30faf798c"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.71",
+ "syn 2.0.98",
+]
+
+[[package]]
+name = "thiserror-impl"
+version = "2.0.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "26afc1baea8a989337eeb52b6e72a039780ce45c3edfcc9c5b9d112feeb173c2"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.98",
 ]
 
 [[package]]
@@ -1957,7 +1990,7 @@ checksum = "5f5ae998a069d4b5aba8ee9dad856af7d520c3699e6159b185c2acd48155d39a"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.71",
+ "syn 2.0.98",
 ]
 
 [[package]]
@@ -2154,7 +2187,7 @@ version = "1.10.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "81dfa00651efa65069b0b6b651f4aaa31ba9e3c3ce0137aaad053604ee7e0314"
 dependencies = [
- "getrandom",
+ "getrandom 0.2.15",
 ]
 
 [[package]]
@@ -2190,6 +2223,15 @@ version = "0.11.0+wasi-snapshot-preview1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423"
 
+[[package]]
+name = "wasi"
+version = "0.13.3+wasi-0.2.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "26816d2e1a4a36a2940b96c5296ce403917633dff8f3440e9b236ed6f6bacad2"
+dependencies = [
+ "wit-bindgen-rt",
+]
+
 [[package]]
 name = "wasm-bindgen"
 version = "0.2.92"
@@ -2211,7 +2253,7 @@ dependencies = [
  "once_cell",
  "proc-macro2",
  "quote",
- "syn 2.0.71",
+ "syn 2.0.98",
  "wasm-bindgen-shared",
 ]
 
@@ -2245,7 +2287,7 @@ checksum = "e94f17b526d0a461a191c78ea52bbce64071ed5c04c9ffe424dcb38f74171bb7"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.71",
+ "syn 2.0.98",
  "wasm-bindgen-backend",
  "wasm-bindgen-shared",
 ]
@@ -2465,6 +2507,35 @@ dependencies = [
  "windows-sys 0.48.0",
 ]
 
+[[package]]
+name = "wit-bindgen-rt"
+version = "0.33.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3268f3d866458b787f390cf61f4bbb563b922d091359f9608842999eaee3943c"
+dependencies = [
+ "bitflags 2.6.0",
+]
+
+[[package]]
+name = "zerocopy"
+version = "0.8.16"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7b8c07a70861ce02bad1607b5753ecb2501f67847b9f9ada7c160fff0ec6300c"
+dependencies = [
+ "zerocopy-derive",
+]
+
+[[package]]
+name = "zerocopy-derive"
+version = "0.8.16"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5226bc9a9a9836e7428936cde76bb6b22feea1a8bfdbc0d241136e4d13417e25"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.98",
+]
+
 [[package]]
 name = "zeroize"
 version = "1.8.1"
diff --git a/Cargo.toml b/Cargo.toml
index 5989a8a8..f972c6f9 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -1,7 +1,7 @@
 [package]
 name = "royalnet"
 description = "Fun software suite for the RYG community"
-version = "2024.10.31"
+version = "2025.2.6"
 edition = "2021"
 authors = [
     "Stefano Pigozzi <me@steffo.eu>"
@@ -35,7 +35,7 @@ exclude = [
 version = "1.0.86"
 
 [dependencies.thiserror]
-version = "1.0.62"
+version = "2.0.11"
 
 [dependencies.tokio]
 version = "1.38.0"
@@ -49,7 +49,7 @@ features = ["release_max_level_debug"]
 version = "0.5.0"
 
 [dependencies.micronfig]
-version = "0.3.0"
+version = "1.0.0"
 
 [dependencies.once_cell]
 version = "1.19.0"
@@ -82,7 +82,7 @@ features = ["native-tls", "macros"]
 optional = true
 
 [dependencies.rand]
-version = "0.8.5"
+version = "0.9.0"
 features = ["small_rng"]
 optional = true
 
@@ -90,7 +90,7 @@ optional = true
 version = "0.4.38"
 
 [dependencies.parse_datetime]
-version = "0.6.0"
+version = "0.7.0"
 optional = true
 
 [dependencies.graphql_client]
diff --git a/src/services/telegram/commands/answer.rs b/src/services/telegram/commands/answer.rs
index 51f78809..c025b78d 100644
--- a/src/services/telegram/commands/answer.rs
+++ b/src/services/telegram/commands/answer.rs
@@ -1,6 +1,5 @@
 use anyhow::Context;
-use rand::seq::SliceRandom;
-use rand::SeedableRng;
+use rand::seq::IndexedRandom;
 use teloxide::payloads::SendMessageSetters;
 use teloxide::prelude::{Message, Requester};
 use teloxide::types::ReplyParameters;
@@ -82,7 +81,7 @@ const ANSWERS: [&str; 61] = [
 ];
 
 pub async fn handler(bot: &Bot, message: &Message) -> CommandResult {
-	let mut rng = rand::rngs::SmallRng::from_entropy();
+	let mut rng = rand::rngs::SmallRng::from_os_rng();
 	
 	let answer = ANSWERS.choose(&mut rng)
 		.context("Non è stato possibile selezionare una risposta.")?;
diff --git a/src/services/telegram/commands/fortune.rs b/src/services/telegram/commands/fortune.rs
index 5ea29193..6c77faef 100644
--- a/src/services/telegram/commands/fortune.rs
+++ b/src/services/telegram/commands/fortune.rs
@@ -1,16 +1,15 @@
 use std::hash::{Hash, Hasher};
 
+use crate::services::telegram::commands::CommandResult;
 use anyhow::Context;
 use chrono::Datelike;
-use rand::seq::SliceRandom;
+use rand::seq::IndexedRandom;
 use rand::SeedableRng;
 use teloxide::payloads::SendMessageSetters;
-use teloxide::prelude::{Message, Requester};
-use teloxide::types::ReplyParameters;
+use teloxide::requests::Requester;
+use teloxide::types::{Message, ReplyParameters};
 use teloxide::Bot;
 
-use crate::services::telegram::commands::CommandResult;
-
 // Tutte le fortune devono essere positive, o almeno neutrali, per poter essere aggiunte.
 const FORTUNES: [&str; 174] = [
 	"😄 Oggi sarà una fantastica giornata!",
diff --git a/src/services/telegram/commands/roll.rs b/src/services/telegram/commands/roll.rs
index 314cb855..ceb46695 100644
--- a/src/services/telegram/commands/roll.rs
+++ b/src/services/telegram/commands/roll.rs
@@ -1,17 +1,16 @@
 use anyhow::Context;
-use rand::{Rng, SeedableRng};
 use regex::Regex;
-use teloxide::Bot;
 use teloxide::payloads::SendMessageSetters;
 use teloxide::prelude::{Message, Requester};
 use teloxide::types::ReplyParameters;
+use teloxide::Bot;
 
 use crate::services::telegram::commands::CommandResult;
 
 pub async fn handler(bot: &Bot, message: &Message, roll: &str) -> CommandResult {
-	let mut rng = rand::rngs::SmallRng::from_entropy();
+	let mut rng = rand::rngs::SmallRng::from_os_rng();
 	
-	if rng.gen_range(1..1001) == 1 {
+	if rng.random_range(1..1001) == 1 {
 		let _reply = bot
 			.send_message(message.chat.id, "🎶 Roll? Rick roll! https://www.youtube.com/watch?v=dQw4w9WgXcQ")
 			.reply_parameters(ReplyParameters::new(message.id))
@@ -55,7 +54,7 @@ pub async fn handler(bot: &Bot, message: &Message, roll: &str) -> CommandResult
 	let mut nums_rolled = Vec::<u32>::new();
 	for _ in 0..qty {
 		nums_rolled.push(
-			rng.gen_range(1..=die)
+			rng.random_range(1..=die)
 		);
 	}