Clippy ftw
This commit is contained in:
		
							
								
								
									
										99
									
								
								src/main.rs
									
									
									
									
									
								
							
							
						
						
									
										99
									
								
								src/main.rs
									
									
									
									
									
								
							| @@ -13,8 +13,8 @@ use tokio::{ | ||||
|     sync::oneshot::{self, channel}, | ||||
| }; | ||||
|  | ||||
| const DISCORD_APP_ID: &'static str = env!("DISCORD_APP_ID", "Missing DISCORD_APP_ID in env"); | ||||
| const LFM_API_KEY: &'static str = env!("LASTFM_API_KEY", "Missing LASTFM_API_KEY in env"); | ||||
| const DISCORD_APP_ID: &str = env!("DISCORD_APP_ID", "Missing DISCORD_APP_ID in env"); | ||||
| const LFM_API_KEY: &str = env!("LASTFM_API_KEY", "Missing LASTFM_API_KEY in env"); | ||||
|  | ||||
| #[tokio::main] | ||||
| async fn main() -> Result<(), Box<dyn std::error::Error>> { | ||||
| @@ -36,67 +36,58 @@ async fn main() -> Result<(), Box<dyn std::error::Error>> { | ||||
|  | ||||
|     tokio::spawn(async move { | ||||
|         let user_url = format!("https://www.last.fm/user/{}", lfm_username); | ||||
|         loop { | ||||
|             match recv_stop.try_recv() { | ||||
|                 Err(oneshot::error::TryRecvError::Empty) => { | ||||
|                     let tracks_result = lfm | ||||
|                         .recent_tracks(&lfm_username) | ||||
|                         .await | ||||
|                         .with_limit(1) | ||||
|                         .send() | ||||
|                         .await; | ||||
|         while let Err(oneshot::error::TryRecvError::Empty) = recv_stop.try_recv() { | ||||
|             let tracks_result = lfm | ||||
|                 .recent_tracks(&lfm_username) | ||||
|                 .await | ||||
|                 .with_limit(1) | ||||
|                 .send() | ||||
|                 .await; | ||||
|  | ||||
|                     if let Ok(tracks) = tracks_result { | ||||
|                         let last_track = &tracks.tracks[0]; | ||||
|                         match &last_track.attrs { | ||||
|                             Some(_) => { | ||||
|                                 let details = | ||||
|                                     format!("{} - {}", &last_track.artist.name, last_track.name); | ||||
|             if let Ok(tracks) = tracks_result { | ||||
|                 let last_track = &tracks.tracks[0]; | ||||
|                 match &last_track.attrs { | ||||
|                     Some(_) => { | ||||
|                         let details = format!("{} - {}", &last_track.artist.name, last_track.name); | ||||
|  | ||||
|                                 println!( | ||||
|                                     "{} Currently playing: {:#?}", | ||||
|                                     Local::now().format("%Y/%m/%d %H:%M:%S"), | ||||
|                                     details | ||||
|                                 ); | ||||
|                         println!( | ||||
|                             "{} Currently playing: {:#?}", | ||||
|                             Local::now().format("%Y/%m/%d %H:%M:%S"), | ||||
|                             details | ||||
|                         ); | ||||
|  | ||||
|                                 let album_name: String = if last_track.album.name.is_empty() { | ||||
|                                     last_track.name.clone() | ||||
|                                 } else { | ||||
|                                     last_track.album.name.clone() | ||||
|                                 }; | ||||
|                         let album_name: String = if last_track.album.name.is_empty() { | ||||
|                             last_track.name.clone() | ||||
|                         } else { | ||||
|                             last_track.album.name.clone() | ||||
|                         }; | ||||
|  | ||||
|                                 let album_art = if last_track.images[2].image_url.is_empty() { | ||||
|                                     "https://lastfm.freetls.fastly.net/i/u/174s/2a96cbd8b46e442fc41c2b86b821562f.png" | ||||
|                                 } else { | ||||
|                                     last_track.images[2].image_url.as_str() | ||||
|                                 }; | ||||
|                         let album_art = if last_track.images[2].image_url.is_empty() { | ||||
|                             "https://lastfm.freetls.fastly.net/i/u/174s/2a96cbd8b46e442fc41c2b86b821562f.png" | ||||
|                         } else { | ||||
|                             last_track.images[2].image_url.as_str() | ||||
|                         }; | ||||
|  | ||||
|                                 let state = format!("on {}", album_name); | ||||
|                                 let assets = | ||||
|                                     Assets::new().large_image(&album_art).large_text(&details); | ||||
|                                 let activity = Activity::new() | ||||
|                                     .assets(assets) | ||||
|                                     .details(details.as_str()) | ||||
|                                     .state(state.as_str()) | ||||
|                                     .buttons(vec![Button::new("Profile", &user_url)]); | ||||
|                         let state = format!("on {}", album_name); | ||||
|                         let assets = Assets::new().large_image(album_art).large_text(&details); | ||||
|                         let activity = Activity::new() | ||||
|                             .assets(assets) | ||||
|                             .details(details.as_str()) | ||||
|                             .state(state.as_str()) | ||||
|                             .buttons(vec![Button::new("Profile", &user_url)]); | ||||
|  | ||||
|                                 let mut ipc_client = _ipc_client2.lock().unwrap(); | ||||
|                                 ipc_client.set_activity(activity).unwrap(); | ||||
|                             } | ||||
|                             None => { | ||||
|                                 println!( | ||||
|                                     "{}: Current not playing...", | ||||
|                                     Local::now().format("%Y/%m/%d %H:%M:%S"), | ||||
|                                 ); | ||||
|                             } | ||||
|                         } | ||||
|                         let mut ipc_client = _ipc_client2.lock().unwrap(); | ||||
|                         ipc_client.set_activity(activity).unwrap(); | ||||
|                     } | ||||
|                     None => { | ||||
|                         println!( | ||||
|                             "{}: Current not playing...", | ||||
|                             Local::now().format("%Y/%m/%d %H:%M:%S"), | ||||
|                         ); | ||||
|                     } | ||||
|                     thread::sleep(Duration::seconds(5).to_std().unwrap()); | ||||
|                 } | ||||
|                 _ => { | ||||
|                     break; | ||||
|                 } | ||||
|             } | ||||
|             thread::sleep(Duration::seconds(5).to_std().unwrap()); | ||||
|         } | ||||
|     }); | ||||
|  | ||||
|   | ||||
		Reference in New Issue
	
	Block a user