forked from Skynet/discord-bot
feat: now using seperate tables for key info, joined when needed
This commit is contained in:
parent
f405cbbb93
commit
591c61b009
6 changed files with 225 additions and 198 deletions
|
@ -7,7 +7,7 @@ use serenity::{
|
|||
},
|
||||
Client,
|
||||
};
|
||||
use skynet_discord_bot::{db_init, get_config, get_now_iso, get_server_config_bulk, Accounts, Config, DataBase, Servers};
|
||||
use skynet_discord_bot::{db_init, get_config, get_now_iso, get_server_config_bulk, Config, DataBase, Servers, Wolves};
|
||||
use sqlx::{Pool, Sqlite};
|
||||
use std::{process, sync::Arc};
|
||||
use tokio::sync::RwLock;
|
||||
|
@ -131,13 +131,18 @@ async fn bulk_check(ctx: Arc<Context>) {
|
|||
}
|
||||
}
|
||||
|
||||
async fn get_server_member_bulk(db: &Pool<Sqlite>, server: &GuildId) -> Vec<Accounts> {
|
||||
sqlx::query_as::<_, Accounts>(
|
||||
async fn get_server_member_bulk(db: &Pool<Sqlite>, server: &GuildId) -> Vec<Wolves> {
|
||||
sqlx::query_as::<_, Wolves>(
|
||||
r#"
|
||||
SELECT *
|
||||
FROM accounts
|
||||
WHERE server = ? AND discord IS NOT NULL AND expiry > ?
|
||||
"#,
|
||||
SELECT *
|
||||
FROM server_members
|
||||
JOIN wolves ON server_members.id_wolves = wolves.id_wolves
|
||||
WHERE (
|
||||
server = ?
|
||||
AND discord IS NOT NULL
|
||||
AND expiry > ?
|
||||
)
|
||||
"#,
|
||||
)
|
||||
.bind(*server.as_u64() as i64)
|
||||
.bind(get_now_iso(true))
|
||||
|
@ -147,7 +152,7 @@ async fn get_server_member_bulk(db: &Pool<Sqlite>, server: &GuildId) -> Vec<Acco
|
|||
}
|
||||
|
||||
async fn set_server_numbers(db: &Pool<Sqlite>, server: &GuildId, past: i64, current: i64) {
|
||||
match sqlx::query_as::<_, Accounts>(
|
||||
match sqlx::query_as::<_, Wolves>(
|
||||
"
|
||||
UPDATE servers
|
||||
SET member_past = ?, member_current = ?
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue