use textsender_models::config::auxiliary::TwilioConfig; use textsender_models::contact::Contact; use textsender_models::message::Message; pub async fn send_messages( config: &TwilioConfig, contacts: &Vec, message: &Message, second_interval: u64, ) { let long_sleep_limit: i64 = 5; let mut count: i64 = 0; for contact in contacts { println!("Sending to: {:?}", contact.phone_number); let param = swoosh::twilio::types::Parameters { schedule: false, schedule_at: None, }; match swoosh::twilio::api::send_mssage(message, contact, param, config).await { Ok(response) => { println!("Raw response: {response:?}"); let val = swoosh::twilio::api::response_to_json(response).await; println!("Response: {val:?}"); } Err(err) => { eprintln!("Error: {err:?}"); } } if count % long_sleep_limit == 0 { // Sleep for X seconds let wait_time = second_interval; std::thread::sleep(std::time::Duration::from_secs(wait_time)); } else { // Sleep for a second std::thread::sleep(std::time::Duration::from_secs(1)); } count += 1; } }