@@ -3,7 +3,7 @@ use crate::{handler, ChatServerHandle};
3
3
use actix_web:: web:: Data ;
4
4
use actix_web:: { error, post, web, Error , HttpRequest , HttpResponse , Scope } ;
5
5
use celery:: Celery ;
6
- use log:: error;
6
+ use log:: { error, info } ;
7
7
use serenity:: all:: { ChannelId , CreateEmbed , CreateEmbedAuthor } ;
8
8
use serenity:: builder:: CreateMessage ;
9
9
use serenity:: http:: Http ;
@@ -26,6 +26,8 @@ struct MyError {
26
26
message : & ' static str ,
27
27
}
28
28
29
+ const LEAGUES_ICON_TAG : & str = "<img=22> " ;
30
+
29
31
#[ post( "/new-discord-message" ) ]
30
32
async fn new_discord_message (
31
33
req : HttpRequest ,
@@ -88,7 +90,7 @@ async fn new_clan_chats(
88
90
let result = Err ( MyError {
89
91
message : "No verification code was set" ,
90
92
} ) ;
91
- return result. map_err ( |err| error:: ErrorBadRequest ( err. message ) ) ;
93
+ return result. map_err ( |err : MyError | error:: ErrorBadRequest ( err. message ) ) ;
92
94
}
93
95
94
96
let verification_code = possible_verification_code. unwrap ( ) . to_str ( ) . unwrap ( ) ;
@@ -113,7 +115,7 @@ async fn new_clan_chats(
113
115
return result. map_err ( |err| error:: ErrorBadRequest ( err. message ) ) ;
114
116
} ;
115
117
116
- for chat in new_chat. clone ( ) {
118
+ for mut chat in new_chat. clone ( ) {
117
119
if chat. sender . clone ( ) == "" && chat. clan_name . clone ( ) == "" {
118
120
continue ;
119
121
}
@@ -141,6 +143,12 @@ async fn new_clan_chats(
141
143
}
142
144
}
143
145
146
+ //HACK leagues. is_league_world is not getting set as expected so we need to check the icon_id
147
+ if let Some ( icon_id) = chat. icon_id {
148
+ //League icon id
149
+ chat. is_league_world = Some ( icon_id == 22 ) ;
150
+ }
151
+
144
152
//Sets the clan name to the guild. Bit of a hack but best way to get clan name
145
153
if let None = registered_guild. clan_name {
146
154
registered_guild. clan_name = Some ( chat. clan_name . clone ( ) ) ;
@@ -168,7 +176,8 @@ async fn new_clan_chats(
168
176
CreateEmbed :: new ( )
169
177
. title ( "" )
170
178
. author ( CreateEmbedAuthor :: new ( chat. sender . clone ( ) ) . icon_url ( author_image) )
171
- . description ( chat. message . clone ( ) )
179
+ //HACK
180
+ . description ( chat. message . clone ( ) . replace ( LEAGUES_ICON_TAG , "" ) )
172
181
. color ( 0x0000FF )
173
182
. timestamp ( right_now) ,
174
183
) ;
@@ -218,7 +227,13 @@ async fn new_clan_chats(
218
227
continue ;
219
228
}
220
229
221
- let league_world = chat. is_league_world . unwrap_or ( false ) ;
230
+ // let league_world = chat.is_league_world.unwrap_or(false);
231
+ //HACK leagues. is_league_world is not getting set as expected so we need to check the broadcast for the icon tag
232
+ let league_world = chat. message . starts_with ( LEAGUES_ICON_TAG ) ;
233
+ if league_world {
234
+ chat. message = chat. message . replace ( LEAGUES_ICON_TAG , "" ) ;
235
+ chat. is_league_world = Some ( true ) ;
236
+ }
222
237
223
238
let item_mapping_from_redis = get_item_mapping ( & mut redis_connection) . await ;
224
239
0 commit comments