feat: now properly sets and removes roles for committee members
This commit is contained in:
parent
4eeb7f2135
commit
1aef86ad01
9 changed files with 137 additions and 89 deletions
40
src/main.rs
40
src/main.rs
|
@ -15,7 +15,9 @@ use serenity::{
|
|||
};
|
||||
use skynet_discord_bot::common::database::{db_init, get_server_config, get_server_member, DataBase};
|
||||
use skynet_discord_bot::common::set_roles::committee::update_committees;
|
||||
use skynet_discord_bot::common::wolves::committees::Committees;
|
||||
use skynet_discord_bot::{get_config, Config};
|
||||
use sqlx::{Pool, Sqlite};
|
||||
use std::sync::Arc;
|
||||
use tokio::sync::RwLock;
|
||||
|
||||
|
@ -67,20 +69,24 @@ impl EventHandler for Handler {
|
|||
println!("{:?}", e);
|
||||
}
|
||||
} else {
|
||||
let msg = format!(
|
||||
r#"
|
||||
let tmp = get_committee(&db, &config_server.server_name).await;
|
||||
if !tmp.is_empty() {
|
||||
let committee = &tmp[0];
|
||||
let msg = format!(
|
||||
r#"
|
||||
Welcome {} to the {} server!
|
||||
Sign up on [UL Wolves]({}) and go to https://discord.com/channels/{}/{} and use ``/link_wolves`` to get full access.
|
||||
"#,
|
||||
new_member.display_name(),
|
||||
&config_server.server_name,
|
||||
&config_server.wolves_link,
|
||||
&config_server.server,
|
||||
&config_server.bot_channel_id
|
||||
);
|
||||
new_member.display_name(),
|
||||
committee.name_full,
|
||||
committee.link,
|
||||
&config_server.server,
|
||||
&config_server.bot_channel_id
|
||||
);
|
||||
|
||||
if let Err(err) = new_member.user.direct_message(&ctx, |m| m.content(&msg)).await {
|
||||
dbg!(err);
|
||||
if let Err(err) = new_member.user.direct_message(&ctx, |m| m.content(&msg)).await {
|
||||
dbg!(err);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -149,6 +155,20 @@ Sign up on [UL Wolves]({}) and go to https://discord.com/channels/{}/{} and use
|
|||
}
|
||||
}
|
||||
|
||||
async fn get_committee(db: &Pool<Sqlite>, committee: &str) -> Vec<Committees> {
|
||||
sqlx::query_as::<_, Committees>(
|
||||
r#"
|
||||
SELECT *
|
||||
FROM committees
|
||||
WHERE name_plain = ?
|
||||
"#,
|
||||
)
|
||||
.bind(committee)
|
||||
.fetch_all(db)
|
||||
.await
|
||||
.unwrap_or_default()
|
||||
}
|
||||
|
||||
#[tokio::main]
|
||||
async fn main() {
|
||||
let config = get_config();
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue