@@ -14,15 +14,20 @@ const RESOLVED_COLOUR: Colour = Colour(0x8957e5);
1414const CLOSED_COLOUR : Colour = Colour ( 0xda3633 ) ;
1515
1616pub async fn message ( ctx : & Context , message : & Message ) {
17- if let Some ( embeds) = issue_embeds ( ctx, message) . await {
17+ if let Some ( embeds) = issue_embeds ( message) . await {
18+ let typing = message. channel_id . start_typing ( & ctx. http )
19+ . expect ( "Failed to start typing" ) ;
20+
1821 message. channel_id . send_message ( & ctx. http , |f| f
1922 . reference_message ( message)
2023 . set_embeds ( embeds)
2124 ) . await . expect ( "Failed to reply with github embed" ) ;
25+
26+ typing. stop ( ) . expect ( "Failed to stop typing" ) ;
2227 }
2328}
2429
25- async fn issue_embeds ( ctx : & Context , message : & Message ) -> Option < Vec < CreateEmbed > > {
30+ async fn issue_embeds ( message : & Message ) -> Option < Vec < CreateEmbed > > {
2631 let mut embeds: Vec < CreateEmbed > = vec ! [ ] ;
2732 let client = octocrab:: instance ( ) ;
2833 let ratelimit = client. ratelimit ( ) ;
@@ -34,9 +39,6 @@ async fn issue_embeds(ctx: &Context, message: &Message) -> Option<Vec<CreateEmbe
3439
3540 for capture in regex. captures_iter ( & message. content ) {
3641 if let Some ( m) = capture. get ( 1 ) {
37- let typing = message. channel_id . start_typing ( & ctx. http )
38- . expect ( "Failed to start typing" ) ;
39-
4042 let issue_num = m. as_str ( ) . parse :: < u64 > ( )
4143 . expect ( "Match is not a number" ) ;
4244
@@ -50,8 +52,6 @@ async fn issue_embeds(ctx: &Context, message: &Message) -> Option<Vec<CreateEmbe
5052 embeds. push ( issue. embed ( ) ) ;
5153 }
5254 }
53-
54- typing. stop ( ) . expect ( "Failed to stop typing" ) ;
5555 }
5656 }
5757
0 commit comments