Compare commits

..

No commits in common. "main" and "#22_Role-Joiner" have entirely different histories.

View file

@ -22,7 +22,7 @@ pub mod edit {
let role_a = if let CommandDataOptionValue::Role(role) = command let role_a = if let CommandDataOptionValue::Role(role) = command
.data .data
.options .options
.first() .get(0)
.expect("Expected role option") .expect("Expected role option")
.resolved .resolved
.as_ref() .as_ref()
@ -73,9 +73,14 @@ pub mod edit {
if let Some(x) = command.data.options.get(3) { if let Some(x) = command.data.options.get(3) {
let tmp = x.to_owned(); let tmp = x.to_owned();
if let Some(CommandDataOptionValue::Boolean(z)) = tmp.resolved { if let Some(y) = tmp.resolved {
match y {
CommandDataOptionValue::Boolean(z) => {
delete = z; delete = z;
} }
_ => {}
}
}
} }
let db_lock = { let db_lock = {
@ -152,8 +157,9 @@ pub mod edit {
} }
async fn add_server(db: &Pool<Sqlite>, server: &RoleAdder, delete: bool) -> Result<Option<RoleAdder>, Error> { async fn add_server(db: &Pool<Sqlite>, server: &RoleAdder, delete: bool) -> Result<Option<RoleAdder>, Error> {
let action;
if delete { if delete {
sqlx::query_as::<_, RoleAdder>( action = sqlx::query_as::<_, RoleAdder>(
" "
DELETE FROM roles_adder DELETE FROM roles_adder
WHERE server = ?1 AND role_a = ?2 AND role_b = ?3 AND role_c = ?4 WHERE server = ?1 AND role_a = ?2 AND role_b = ?3 AND role_c = ?4
@ -164,9 +170,9 @@ pub mod edit {
.bind(*server.role_b.as_u64() as i64) .bind(*server.role_b.as_u64() as i64)
.bind(*server.role_c.as_u64() as i64) .bind(*server.role_c.as_u64() as i64)
.fetch_optional(db) .fetch_optional(db)
.await .await;
} else { } else {
sqlx::query_as::<_, RoleAdder>( action = sqlx::query_as::<_, RoleAdder>(
" "
INSERT OR REPLACE INTO roles_adder (server, role_a, role_b, role_c) INSERT OR REPLACE INTO roles_adder (server, role_a, role_b, role_c)
VALUES (?1, ?2, ?3, ?4) VALUES (?1, ?2, ?3, ?4)
@ -177,8 +183,10 @@ pub mod edit {
.bind(*server.role_b.as_u64() as i64) .bind(*server.role_b.as_u64() as i64)
.bind(*server.role_c.as_u64() as i64) .bind(*server.role_c.as_u64() as i64)
.fetch_optional(db) .fetch_optional(db)
.await .await;
} }
action
} }
} }
@ -193,7 +201,7 @@ pub mod tools {
pub async fn on_role_change(db: &Pool<Sqlite>, ctx: &Context, mut new_data: Member) { pub async fn on_role_change(db: &Pool<Sqlite>, ctx: &Context, mut new_data: Member) {
// check if the role changed is part of the oens for this server // check if the role changed is part of the oens for this server
if let Ok(role_adders) = sqlx::query_as::<_, RoleAdder>( if let Some(role_adders) = sqlx::query_as::<_, RoleAdder>(
r#" r#"
SELECT * SELECT *
FROM roles_adder FROM roles_adder
@ -203,6 +211,7 @@ pub mod tools {
.bind(*new_data.guild_id.as_u64() as i64) .bind(*new_data.guild_id.as_u64() as i64)
.fetch_all(db) .fetch_all(db)
.await .await
.ok()
{ {
let mut roles_add = vec![]; let mut roles_add = vec![];
let mut roles_remove = vec![]; let mut roles_remove = vec![];