@@ -49,65 +49,63 @@ pub async fn message(data: &Data, ctx: &Context, message: &Message) {
4949 . timeout ( Duration :: from_secs ( 60 ) )
5050 . await
5151 {
52- // Safe to unwap member because this only runs in guilds.
53- // The only way this could go wrong if cache isn't ready? (fresh bot restart)
5452 let has_perms = press. member . as_ref ( ) . map_or ( false , |member| {
5553 member. permissions . map_or ( false , |member_perms| {
5654 member_perms. contains ( Permissions :: MANAGE_MESSAGES )
5755 } )
5856 } ) ;
5957
60- if press. data . custom_id == remove_id
61- && ( press. user . id == message. author . id || has_perms)
62- {
63- let _ = press
64- . create_response ( ctx, CreateInteractionResponse :: Acknowledge )
58+ if press. data . custom_id == remove_id {
59+ if press. user . id == message. author . id || has_perms {
60+ let _ = press
61+ . create_response ( ctx, CreateInteractionResponse :: Acknowledge )
62+ . await ;
63+ if let Ok ( ref msg) = msg_result {
64+ let _ = msg. delete ( ctx) . await ;
65+ }
66+ msg_deleted = true ;
67+ } else {
68+ interaction_err (
69+ ctx,
70+ & press,
71+ "Unable to use interaction because you are missing `MANAGE_MESSAGES`." ,
72+ )
6573 . await ;
66- if let Ok ( ref msg) = msg_result {
67- let _ = msg. delete ( ctx) . await ;
6874 }
69- msg_deleted = true ;
70- } else {
71- interaction_err (
72- ctx,
73- & press,
74- "Unable to use interaction because you are missing `MANAGE_MESSAGES`." ,
75- )
76- . await ;
7775 }
7876
79- if press. data . custom_id == hide_body_id
80- && ( press. user . id == message. author . id || has_perms)
81- {
82- if !body_hid {
83- let mut hid_body_embeds : Vec < CreateEmbed > = Vec :: new ( ) ;
84- if let Ok ( ref msg ) = msg_result {
85- for mut embed in msg . embeds . clone ( ) {
86- embed. description = None ;
87- let embed : CreateEmbed = embed . clone ( ) . into ( ) ;
88- hid_body_embeds . push ( embed ) ;
77+ if press. data . custom_id == hide_body_id {
78+ if press. user . id == message. author . id || has_perms {
79+ if !body_hid {
80+ let mut hid_body_embeds : Vec < CreateEmbed > = Vec :: new ( ) ;
81+ if let Ok ( ref msg ) = msg_result {
82+ for mut embed in msg . embeds . clone ( ) {
83+ embed . description = None ;
84+ let embed: CreateEmbed = embed . clone ( ) . into ( ) ;
85+ hid_body_embeds . push ( embed ) ;
86+ }
8987 }
90- }
9188
92- let _ = press
93- . create_response (
94- ctx,
95- serenity:: CreateInteractionResponse :: UpdateMessage (
96- serenity:: CreateInteractionResponseMessage :: new ( )
97- . embeds ( hid_body_embeds)
98- . components ( vec ! [ remove. clone( ) ] ) ,
99- ) ,
100- )
101- . await ;
89+ let _ = press
90+ . create_response (
91+ ctx,
92+ serenity:: CreateInteractionResponse :: UpdateMessage (
93+ serenity:: CreateInteractionResponseMessage :: new ( )
94+ . embeds ( hid_body_embeds)
95+ . components ( vec ! [ remove. clone( ) ] ) ,
96+ ) ,
97+ )
98+ . await ;
99+ }
100+ body_hid = true ;
101+ } else {
102+ interaction_err (
103+ ctx,
104+ & press,
105+ "Unable to use interaction because you are missing `MANAGE_MESSAGES`." ,
106+ )
107+ . await ;
102108 }
103- body_hid = true ;
104- } else {
105- interaction_err (
106- ctx,
107- & press,
108- "Unable to use interaction because you are missing `MANAGE_MESSAGES`." ,
109- )
110- . await ;
111109 }
112110 }
113111 // Triggers on timeout.
0 commit comments