things
This commit is contained in:
parent
18b644d24b
commit
b2c3a521e9
8 changed files with 115 additions and 9 deletions
|
@ -165,9 +165,7 @@ async fn read(
|
|||
tx.send(Payload::Hello {}).await.ok();
|
||||
|
||||
while let Some(msg) = receiver.next().await {
|
||||
let msg = if let Ok(msg) = msg {
|
||||
msg
|
||||
} else {
|
||||
let Ok(msg) = msg else {
|
||||
return;
|
||||
};
|
||||
|
||||
|
@ -289,10 +287,35 @@ async fn filter_events(
|
|||
socket_state: Arc<RwLock<SocketState>>,
|
||||
evt: &Dispatch,
|
||||
) -> Result<(bool, Vec<String>)> {
|
||||
// If we're not authenticated yet, don't send anything
|
||||
if socket_state.read().await.instance.is_none() {
|
||||
let Some(instance) = &socket_state.read().await.instance else {
|
||||
return Ok((false, vec![]));
|
||||
}
|
||||
};
|
||||
|
||||
Ok((true, vec![]))
|
||||
match evt {
|
||||
Dispatch::MessageCreate {
|
||||
id: _,
|
||||
channel_id: _,
|
||||
guild_id,
|
||||
author: _,
|
||||
content: _,
|
||||
created_at: _,
|
||||
} => {
|
||||
let users = sqlx::query!(
|
||||
r#"SELECT ARRAY(
|
||||
SELECT u.remote_user_id FROM users u
|
||||
JOIN guilds_users gu ON gu.user_id = u.id
|
||||
WHERE u.instance_id = $1 AND gu.guild_id = $2
|
||||
)"#,
|
||||
instance.id,
|
||||
guild_id
|
||||
)
|
||||
.fetch_one(&app_state.pool)
|
||||
.await?;
|
||||
|
||||
if let Some(users) = users.array {
|
||||
return Ok((users.len() > 0, users));
|
||||
}
|
||||
return Ok((false, vec![]));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue