Add target option to run-bot
This commit is contained in:
		
							parent
							
								
									b1753d8775
								
							
						
					
					
						commit
						25d3846e1c
					
				
							
								
								
									
										13
									
								
								src/main.rs
									
									
									
									
									
								
							
							
						
						
									
										13
									
								
								src/main.rs
									
									
									
									
									
								
							| @ -98,6 +98,8 @@ enum Commands { | ||||
|     RunBot { | ||||
|         #[clap(short, long, action)] | ||||
|         dry_run: bool, | ||||
|         #[clap(short, long, value_parser)] | ||||
|         target: Option<String>, | ||||
|     }, | ||||
|     /// Print details about the currently authed user
 | ||||
|     Whoami, | ||||
| @ -112,7 +114,7 @@ fn main() -> StdError<()> { | ||||
|         Commands::ScrapeWeb => do_scrape_web(), | ||||
|         Commands::ListTweets => do_list_tweets(), | ||||
|         Commands::Whoami => do_whoami(), | ||||
|         Commands::RunBot { dry_run } => run_bot(*dry_run), | ||||
|         Commands::RunBot { dry_run, target } => run_bot(*dry_run, target.to_owned()), | ||||
|     } | ||||
| } | ||||
| 
 | ||||
| @ -194,11 +196,14 @@ fn get_client(headers: Option<reqwest::header::HeaderMap>) -> StdError<reqwest:: | ||||
|     Ok(c.build()?) | ||||
| } | ||||
| 
 | ||||
| fn run_bot(dry_run: bool) -> StdError<()> { | ||||
| fn run_bot(dry_run: bool, target: Option<String>) -> StdError<()> { | ||||
|     let all = scrape_web()?; | ||||
|     let (title, filename) = all | ||||
|     let (title, filename) = if let Some(target) = target { | ||||
|         all.iter().find(|(title, _)| title.to_lowercase().contains(&target.to_lowercase())) | ||||
|     } else { | ||||
|         all | ||||
|         .choose(&mut rand::thread_rng()) | ||||
|         .ok_or("got no images m8")?; | ||||
|     }.ok_or("got no images m8")?; | ||||
|     event!(Level::INFO, title, filename, "Picked random thing"); | ||||
|     let client = get_client(None)?; | ||||
|     event!(Level::INFO, "Fetching metadata..."); | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user