Skip to content

Commit 9c25334

Browse files
authoredMar 15, 2025··
Merge pull request #87 from kozabrada123/main
Update chorus to 0.19.0
1 parent 3de193b commit 9c25334

File tree

7 files changed

+26
-28
lines changed

7 files changed

+26
-28
lines changed
 

‎Cargo.toml

+1-1
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ sentry = { version = "0.34.0", default-features = false, features = [
5959
clap = { version = "4.5.26", features = ["derive"] }
6060
chorus = { features = [
6161
"backend",
62-
], default-features = false, version = "0.18.0" }
62+
], default-features = false, version = "0.19.0" }
6363
serde_path_to_error = "0.1.16"
6464
percent-encoding = "2.3.1"
6565
hex = "0.4.3"

‎src/api/routes/channels/messages/id/reactions.rs

+3-5
Original file line numberDiff line numberDiff line change
@@ -166,12 +166,10 @@ pub async fn get_reaction(
166166

167167
let Some(reaction) = message.reactions.as_ref().and_then(|reactions| {
168168
reactions.iter().find(|r| {
169-
if let Some(id) = emoji.id {
170-
r.emoji.id == id
171-
} else if let Some(name) = &r.emoji.name {
172-
emoji.name.eq(name)
169+
if emoji.id.is_some() && r.emoji.id.is_some() {
170+
emoji.id == r.emoji.id
173171
} else {
174-
false
172+
emoji.name.eq(&r.emoji.name)
175173
}
176174
})
177175
}) else {

‎src/api/routes/guilds/id/bans.rs

+4-4
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,8 @@
55
*/
66

77
use chorus::types::{
8-
jwt::Claims, GuildBanBulkCreateSchema, GuildBanCreateSchema, GuildBansQuery,
9-
GuildBansSearchQuery, Snowflake,
8+
jwt::Claims, BulkGuildBanSchema, GetGuildBansQuery, GuildBanCreateSchema, GuildBansSearchQuery,
9+
Snowflake,
1010
};
1111
use poem::{
1212
handler,
@@ -26,7 +26,7 @@ pub async fn get_bans(
2626
Data(db): Data<&PgPool>,
2727
Data(claims): Data<&Claims>,
2828
Path(guild_id): Path<Snowflake>,
29-
Query(query): Query<GuildBansQuery>,
29+
Query(query): Query<GetGuildBansQuery>,
3030
) -> poem::Result<impl IntoResponse> {
3131
let mut bans =
3232
GuildBan::get_by_guild(db, guild_id, query.before, query.after, query.limit).await?;
@@ -95,7 +95,7 @@ pub async fn bulk_ban(
9595
Data(db): Data<&PgPool>,
9696
Data(claims): Data<&Claims>,
9797
Path(guild_id): Path<Snowflake>,
98-
Json(payload): Json<GuildBanBulkCreateSchema>,
98+
Json(payload): Json<BulkGuildBanSchema>,
9999
) -> poem::Result<impl IntoResponse> {
100100
let guild = Guild::get_by_id(db, guild_id)
101101
.await?

‎src/api/routes/guilds/id/members/id/mod.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@ pub async fn modify_member(
7474
.await?
7575
.ok_or(Error::Guild(GuildError::MemberNotFound))?;
7676

77-
if let Some(nick) = payload.nick {
77+
if let Some(nick) = payload.nickname {
7878
if !authed_member
7979
.permissions
8080
.has_permission(PermissionFlags::MANAGE_NICKNAMES)

‎src/api/routes/guilds/id/members/id/nick.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ pub async fn change_nickname(
3838
.permissions
3939
.has_permission(PermissionFlags::CHANGE_NICKNAME)
4040
{
41-
authed_member.nick = payload.nick;
41+
authed_member.nick = payload.nickname;
4242
} else if authed_member
4343
.permissions
4444
.has_permission(PermissionFlags::MANAGE_NICKNAMES)
@@ -48,7 +48,7 @@ pub async fn change_nickname(
4848
.get_member(db, snowflake)
4949
.await?
5050
.ok_or(Error::Guild(GuildError::MemberNotFound))?;
51-
authed_member.nick = payload.nick;
51+
authed_member.nick = payload.nickname;
5252
} else {
5353
return Err(Error::Guild(GuildError::InsufficientPermissions).into());
5454
}

‎src/database/entities/message.rs

+9-12
Original file line numberDiff line numberDiff line change
@@ -308,11 +308,10 @@ impl Message {
308308
if let Some(reactions) = self.reactions.as_mut() {
309309
let orig_len = reactions.len();
310310
reactions.retain(|r| {
311-
if let Some(snowflake) = emoji.id {
312-
r.emoji.id != snowflake
311+
if emoji.id.is_some() && r.emoji.id.is_some() {
312+
r.emoji.id != emoji.id
313313
} else {
314-
// TODO: Bad practice, do this without cloning
315-
r.emoji.name.clone().unwrap_or_default().ne(&emoji.name)
314+
r.emoji.name.ne(&emoji.name)
316315
}
317316
});
318317
if orig_len == reactions.len() {
@@ -364,11 +363,10 @@ impl Message {
364363
pub fn get_reaction(&self, emoji: &PartialEmoji) -> Option<&Reaction> {
365364
if let Some(reactions) = &self.reactions {
366365
reactions.iter().find(|r| {
367-
if let Some(snowflake) = emoji.id {
368-
r.emoji.id == snowflake
366+
if emoji.id.is_some() && r.emoji.id.is_some() {
367+
r.emoji.id == emoji.id
369368
} else {
370-
// TODO: Bad practice, do this without cloning
371-
r.emoji.name.clone().unwrap_or_default() == emoji.name
369+
r.emoji.name == emoji.name
372370
}
373371
})
374372
} else {
@@ -379,11 +377,10 @@ impl Message {
379377
pub fn get_reaction_mut(&mut self, emoji: &PartialEmoji) -> Option<&mut Reaction> {
380378
if let Some(reactions) = self.reactions.as_mut() {
381379
reactions.iter_mut().find(|r| {
382-
if let Some(snowflake) = emoji.id {
383-
r.emoji.id == snowflake
380+
if emoji.id.is_some() && r.emoji.id.is_some() {
381+
r.emoji.id == emoji.id
384382
} else {
385-
// TODO: Bad practice, do this without cloning
386-
r.emoji.name.clone().unwrap_or_default() == emoji.name
383+
r.emoji.name == emoji.name
387384
}
388385
})
389386
} else {

‎src/gateway/ready.rs

+6-3
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
use std::collections::HashMap;
22

3-
use chorus::types::{ClientInfo, GatewayReady, ReadState, Session, Snowflake, UserNote};
3+
use chorus::types::{
4+
ClientInfo, GatewayReady, ReadState, Session, Snowflake, UserNote, VersionedReadStateOrEntries,
5+
};
46
use serde_json::json;
57
use sqlx::PgPool;
68

@@ -73,11 +75,12 @@ pub async fn create_ready(user_id: Snowflake, db: &PgPool) -> Result<GatewayRead
7375
private_channels,
7476
notes,
7577
sessions: Some([session].into()),
76-
read_state: ReadState {
78+
// Note: Discord.com now just sends Entries, while Spacebar sends VersionedReadState
79+
read_state: VersionedReadStateOrEntries::Versioned(ReadState {
7780
entries: Default::default(),
7881
partial: false,
7982
version: 0,
80-
},
83+
}),
8184
..Default::default()
8285
};
8386
log::debug!(target: "symfonia::gateway::ready::create_ready", "Created READY json payload: {:#?}", json!(ready));

0 commit comments

Comments
 (0)
Please sign in to comment.