Delete guilds that no longer exist

This commit is contained in:
Sakuhl 2018-03-13 16:18:32 +01:00
parent 6f71e41b71
commit c4cc584c29

View File

@ -42,25 +42,34 @@ fn main() {
if let Ok(guild_list) = wynncraft::guild_list() {
let conn = establish_connection();
let mut guilds = vec![];
guild_list.into_iter().for_each(|name| {
thread::sleep_ms(2500);
println!("Getting {:?}", name);
if let Ok(Some(prefix)) = wynncraft::guild(&name).map(|x| x.map(|x| x.prefix)) {
let guild = Guild { prefix: prefix.trim().to_owned(), name };
if let Ok(_) = diesel::insert_into(guilds::table)
.values(&guild)
.on_conflict(guilds::prefix)
.do_nothing()
.execute(&conn) {
guilds.push(guild);
let _ = reqwest::get("https://wynnapi.herokuapp.com/").unwrap();
} else {
println!("Fail!");
}
} else {
println!("Fail!");
}
});
if let Err(e) = diesel::delete(guilds::table).execute(&conn) {
println!("Mysterious error from DB: {:?}", e);
}
println!("Inserting guilds...");
for guild in &guilds {
if let Err(e) = diesel::insert_into(guilds::table)
.values(guild)
.on_conflict(guilds::prefix)
.do_nothing()
.execute(&conn) {
println!("Mysterious error from DB: {:?}", e);
}
}
println!("Guilds updated!");
}