2023-11-12 14:54:29 -05:00
|
|
|
use rand::seq::SliceRandom;
|
|
|
|
use rand::thread_rng;
|
2023-11-12 14:03:02 -05:00
|
|
|
use serde::Deserialize;
|
|
|
|
use toml;
|
|
|
|
|
2023-11-12 15:29:50 -05:00
|
|
|
#[derive(Deserialize)]
|
2023-11-12 14:03:02 -05:00
|
|
|
struct Sbemails {
|
|
|
|
emails: Vec<Emails>,
|
|
|
|
}
|
|
|
|
|
2023-11-12 15:29:50 -05:00
|
|
|
#[derive(Deserialize)]
|
2023-11-12 14:03:02 -05:00
|
|
|
struct Emails {
|
|
|
|
number: u8,
|
|
|
|
title: String,
|
2023-11-12 19:20:18 -05:00
|
|
|
content: String,
|
2023-11-12 14:03:02 -05:00
|
|
|
}
|
|
|
|
|
2023-11-11 09:28:40 -05:00
|
|
|
fn main() {
|
2023-11-12 15:29:50 -05:00
|
|
|
let the_paper = include_str!("sbemails.toml");
|
2023-11-12 20:53:13 -05:00
|
|
|
let sbemails: Sbemails =
|
|
|
|
toml::from_str(the_paper).expect("failed to deserialize sbemails.toml");
|
2023-11-12 14:54:29 -05:00
|
|
|
let mut random_number = thread_rng();
|
|
|
|
let sbemail = sbemails.emails.choose(&mut random_number).unwrap();
|
2024-09-28 17:18:23 -04:00
|
|
|
println!("sbemail #{}: {} \n", sbemail.number, sbemail.title);
|
|
|
|
println!("{}", sbemail.content);
|
2023-11-11 09:28:40 -05:00
|
|
|
}
|