@@ -3,6 +3,7 @@ use crate::{database::clan_mates::ClanMates, jobs::job_helpers::get_mongodb};
3
3
use super :: get_runelite_api_url;
4
4
use anyhow:: { anyhow, Ok } ;
5
5
use capitalize:: Capitalize ;
6
+ use reqwest:: StatusCode ;
6
7
use tokio:: time:: sleep;
7
8
8
9
pub async fn get_pb ( message : String , player : String , guild_id : u64 ) -> Result < ( ) , anyhow:: Error > {
@@ -17,8 +18,19 @@ pub async fn get_pb(message: String, player: String, guild_id: u64) -> Result<()
17
18
18
19
let runelite_api_url = get_runelite_api_url ( ) . await ?;
19
20
let full_url = format ! ( "{}/chat/pb?name={}&boss={}" , runelite_api_url, player, boss) ;
20
- let pb = reqwest:: get ( full_url) . await ?. text ( ) . await ?;
21
- println ! ( "PB: {}" , pb) ;
21
+ let pb_request: reqwest:: Response = reqwest:: get ( full_url) . await ?;
22
+ if pb_request. status ( ) != StatusCode :: OK {
23
+ println ! (
24
+ "Failed to get pb from runelite api: {}" ,
25
+ pb_request. status( )
26
+ ) ;
27
+ return Err ( anyhow ! (
28
+ "Failed to get pb from runelite api: {}" ,
29
+ pb_request. status( )
30
+ ) ) ;
31
+ }
32
+ let pb_time = pb_request. text ( ) . await ?. parse :: < f64 > ( ) ?;
33
+ println ! ( "PB: {}" , pb_time) ;
22
34
23
35
let db = get_mongodb ( ) . await ;
24
36
let activity = db. pb_activities . create_or_get_activity ( boss) . await ?;
@@ -28,12 +40,7 @@ pub async fn get_pb(message: String, player: String, guild_id: u64) -> Result<()
28
40
. await ;
29
41
let _ = db
30
42
. pb_records
31
- . create_or_update_pb_record (
32
- clan_mate. unwrap ( ) . id ,
33
- activity. id ,
34
- guild_id,
35
- pb. parse :: < f64 > ( ) ?,
36
- )
43
+ . create_or_update_pb_record ( clan_mate. unwrap ( ) . id , activity. id , guild_id, pb_time)
37
44
. await ?;
38
45
39
46
Ok ( ( ) )
0 commit comments