Skip to content

Commit a7af065

Browse files
committed
Only start typing when actively sending message
1 parent fa01245 commit a7af065

1 file changed

Lines changed: 7 additions & 7 deletions

File tree

src/events/issue.rs

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -14,15 +14,20 @@ const RESOLVED_COLOUR: Colour = Colour(0x8957e5);
1414
const CLOSED_COLOUR: Colour = Colour(0xda3633);
1515

1616
pub 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

Comments
 (0)