···11use color_eyre::eyre::{eyre, Result};
22use poise::serenity_prelude::{Context, FullEvent};
33use reqwest::Client;
44-use serenity::all::{ChannelId, Member, PartialMember, RoleId, UserId};
44+use serenity::all::{ChannelId, Member, RoleId, UserId};
5566pub async fn handle(ctx: &Context, event: &FullEvent, _client: &Client) -> Result<()> {
77 if let FullEvent::GuildMemberAddition { new_member } = event {
88+ if new_member.guild_id != 1095080242219073606 {
99+ return Ok(());
1010+ }
1111+1212+ if new_member.user.bot {
1313+ return Ok(());
1414+ }
1515+816 warn_onboarding(ctx, &new_member.user.id).await?;
99- } else if let FullEvent::GuildMemberUpdate {
1717+ }
1818+1919+ if let FullEvent::GuildMemberUpdate {
1020 old_if_available: _,
1111- new,
2121+ new: Some(member),
1222 event: _,
1323 } = event
1424 {
1515- if let Some(member) = new {
1616- if member.user.bot {
1717- return Ok(());
1818- }
1919- // check if the user does not have the kitten role
2020- if !member.roles.iter().any(|role| *role == 1249814690486423612) {
2121- // check if the user has the pronouns role
2222- if member
2323- .roles
2424- .iter()
2525- .filter(|role| is_pronouns_role(**role))
2626- .count()
2727- > 0
2828- {
2929- add_kitten_role(ctx, member).await?;
3030- }
3131- }
3232- }
3333- } else if let FullEvent::Message { new_message } = event {
3434- let user = &new_message.author;
3535- let partial_member: PartialMember = user
3636- .member
3737- .clone()
3838- .ok_or(eyre!("Failed to get member"))?
3939- .as_mut()
4040- .to_owned();
4141- let member = Member::from(partial_member);
4225 if member.user.bot {
4326 return Ok(());
4427 }
4545- // check if the user has the kitten role
4646- if member.roles.iter().any(|role| *role == 1249814690486423612) {
4747- // check if the user does not have pronouns selected
2828+2929+ // check if the user does not have the kitten role
3030+ if !member.roles.iter().any(|role| *role == 1249814690486423612) {
3131+ // check if the user has the pronouns role
4832 if member
4933 .roles
5034 .iter()
5135 .filter(|role| is_pronouns_role(**role))
5236 .count()
5353- == 0
3737+ > 0
5438 {
5555- // delete the message
5656- new_message
5757- .delete(ctx)
5858- .await
5959- .map_err(|e| eyre!("Failed to delete message: {}", e))?;
6060-6161- // send a message
6262- warn_onboarding(ctx, &user.id).await?;
6363-6464- // remove the kitten role
6565-6666- member
6767- .remove_role(ctx, 1249814690486423612)
6868- .await
6969- .map_err(|e| eyre!("Failed to remove role: {}", e))?;
3939+ add_kitten_role(ctx, member).await?;
7040 }
7141 }
7242 }
4343+7344 Ok(())
7445}
7546···8253 ),
8354 )
8455 .await?;
5656+8557 Ok(())
8658}
8759