feat: added support for multiple minecraft servers per discord server

Closes #9
This commit is contained in:
silver 2024-06-03 02:04:26 +01:00
parent c446c10f2d
commit 0f774258a1
4 changed files with 66 additions and 53 deletions

View file

@ -1,4 +1,5 @@
use skynet_discord_bot::{db_init, get_config, get_server_config_bulk, update_server, whitelist_wipe};
use std::collections::HashSet;
use skynet_discord_bot::{db_init, get_config, get_minecraft_config, update_server, whitelist_wipe};
#[tokio::main]
async fn main() {
@ -8,16 +9,17 @@ async fn main() {
Err(_) => return,
};
let servers = get_server_config_bulk(&db).await;
let servers = get_minecraft_config(&db).await;
let mut wiped = HashSet::new();
// wipe whitelist first
for server_config in &servers {
if let Some(server_id) = &server_config.server_minecraft {
whitelist_wipe(server_id, &config.discord_minecraft).await;
for server in &servers {
// wipe whitelist first
if !wiped.contains(&server.minecraft) {
whitelist_wipe(&server.minecraft, &config.discord_minecraft).await;
// add it to teh done list so its not done again
wiped.insert(&server.minecraft);
}
}
for server_config in &servers {
update_server(&server_config.server_minecraft, &db, &server_config.server, &config).await;
update_server(&server.minecraft, &db, &server.discord, &config).await;
}
}