1+ using System . Globalization ;
12using System . Text ;
23using System . Text . Json ;
34using System . Text . Json . Serialization ;
@@ -173,13 +174,13 @@ public async ValueTask<SpamPhotoBio> GetAttentionBaitProbability(
173174 }
174175
175176 var sb = new StringBuilder ( ) ;
176- sb . Append ( $ "Имя: { Utils . FullName ( user ) } ") ;
177+ sb . Append ( CultureInfo . InvariantCulture , $ "Имя: { Utils . FullName ( user ) } ") ;
177178 if ( user . Username != null )
178- sb . Append ( $ "\n Юзернейм: @{ user . Username } ") ;
179+ sb . Append ( CultureInfo . InvariantCulture , $ "\n Юзернейм: @{ user . Username } ") ;
179180 if ( userChat . Bio != null )
180- sb . Append ( $ "\n Описание: { userChat . Bio } ") ;
181+ sb . Append ( CultureInfo . InvariantCulture , $ "\n Описание: { userChat . Bio } ") ;
181182 if ( photoBytes != null )
182- sb . Append ( $ "\n Фото: ") ;
183+ sb . Append ( "\n Фото: " ) ;
183184
184185 nameBioUser = sb . ToString ( ) ;
185186 var promptDebugString = nameBioUser ;
@@ -205,14 +206,14 @@ public async ValueTask<SpamPhotoBio> GetAttentionBaitProbability(
205206 byte [ ] ? channelPhoto = null ;
206207 var linkedChat = await _bot . GetChat ( linked , cancellationToken : ct ) ;
207208 var info = new StringBuilder ( ) ;
208- info . Append ( $ "Информация о привязанном канале:\n Название: { linkedChat . Title } ") ;
209+ info . Append ( CultureInfo . InvariantCulture , $ "Информация о привязанном канале:\n Название: { linkedChat . Title } ") ;
209210 if ( linkedChat . Username != null )
210- sb . Append ( $ "\n Юзернейм: @{ linkedChat . Username } ") ;
211+ info . Append ( CultureInfo . InvariantCulture , $ "\n Юзернейм: @{ linkedChat . Username } ") ;
211212 if ( linkedChat . Description != null )
212- info . Append ( $ "\n Описание: { linkedChat . Description } ") ;
213+ info . Append ( CultureInfo . InvariantCulture , $ "\n Описание: { linkedChat . Description } ") ;
213214 if ( linkedChat . Photo != null )
214215 {
215- info . Append ( $ "\n Фото:") ;
216+ info . Append ( "\n Фото:" ) ;
216217 using var ms = new MemoryStream ( ) ;
217218 await _bot . GetInfoAndDownloadFile ( linkedChat . Photo . BigFileId , ms , cancellationToken : ct ) ;
218219 channelPhoto = ms . ToArray ( ) ;
@@ -249,14 +250,17 @@ public async ValueTask<SpamPhotoBio> GetAttentionBaitProbability(
249250 byte [ ] ? channelPhoto = null ;
250251 var mentionedChat = await _bot . GetChat ( username , cancellationToken : ct ) ;
251252 var info = new StringBuilder ( ) ;
252- info . Append ( $ "Информация об упомянутом канале:\n Название: { mentionedChat . Title } ") ;
253+ info . Append (
254+ CultureInfo . InvariantCulture ,
255+ $ "Информация об упомянутом канале:\n Название: { mentionedChat . Title } "
256+ ) ;
253257 if ( mentionedChat . Username != null )
254- info . Append ( $ "\n Юзернейм: @{ mentionedChat . Username } ") ;
258+ info . Append ( CultureInfo . InvariantCulture , $ "\n Юзернейм: @{ mentionedChat . Username } ") ;
255259 if ( mentionedChat . Description != null )
256- info . Append ( $ "\n Описание: { mentionedChat . Description } ") ;
260+ info . Append ( CultureInfo . InvariantCulture , $ "\n Описание: { mentionedChat . Description } ") ;
257261 if ( mentionedChat . Photo != null )
258262 {
259- info . Append ( $ "\n Фото:") ;
263+ info . Append ( "\n Фото:" ) ;
260264 using var ms = new MemoryStream ( ) ;
261265 await _bot . GetInfoAndDownloadFile ( mentionedChat . Photo . BigFileId , ms , cancellationToken : ct ) ;
262266 channelPhoto = ms . ToArray ( ) ;
@@ -327,9 +331,9 @@ internal record ChatDescription(string Description, long? ChannelId);
327331 {
328332 var chat = await _bot . GetChat ( chatId , cancellationToken : ct ) ;
329333 var info = new StringBuilder ( ) ;
330- info . AppendLine ( $ "Чат: { chat . Title } ") ;
334+ info . AppendLine ( CultureInfo . InvariantCulture , $ "Чат: { chat . Title } ") ;
331335 if ( chat . Description != null )
332- info . AppendLine ( $ "Описание чата: { chat . Description } ") ;
336+ info . AppendLine ( CultureInfo . InvariantCulture , $ "Описание чата: { chat . Description } ") ;
333337
334338 return new ( info . ToString ( ) , chat . LinkedChatId ) ;
335339 }
@@ -354,9 +358,9 @@ private async ValueTask<string> GetLinkedChannelInfoAsync(long channelId, Cancel
354358 {
355359 var linkedChat = await _bot . GetChat ( channelId , cancellationToken : ct ) ;
356360 var info = new StringBuilder ( ) ;
357- info . AppendLine ( $ "Этот чат - чат обсуждения для канала: { linkedChat . Title } ") ;
361+ info . AppendLine ( CultureInfo . InvariantCulture , $ "Этот чат - чат обсуждения для канала: { linkedChat . Title } ") ;
358362 if ( linkedChat . Description != null )
359- info . AppendLine ( $ "Описание канала: { linkedChat . Description } ") ;
363+ info . AppendLine ( CultureInfo . InvariantCulture , $ "Описание канала: { linkedChat . Description } ") ;
360364
361365 return info . ToString ( ) ;
362366 }
@@ -445,7 +449,7 @@ public async ValueTask<SpamProbability> GetSpamProbability(Message message, bool
445449 }
446450
447451 var modelToUse = free ? "openrouter/free" : Model ;
448- var selectedPhoto = message . Photo ? . Any ( ) == true ? SelectHighestQualityPhoto ( message . Photo ) : null ;
452+ var selectedPhoto = message . Photo is { Length : > 0 } ? SelectHighestQualityPhoto ( message . Photo ) : null ;
449453 var cacheKey = $ "llm_spam_prob:{ modelToUse } :{ ShaHelper . ComputeSha256Hex ( text ) } ";
450454 if ( string . IsNullOrWhiteSpace ( text ) && selectedPhoto != null )
451455 cacheKey = $ "llm_spam_prob:{ modelToUse } :{ selectedPhoto . FileUniqueId } ";
@@ -513,7 +517,7 @@ public async ValueTask<SpamProbability> GetSpamProbability(Message message, bool
513517 fullPrompt . AppendLine ( contextBuilder . ToString ( ) ) ;
514518 fullPrompt . AppendLine ( "###" ) ;
515519 if ( ! string . IsNullOrWhiteSpace ( text ) )
516- fullPrompt . AppendLine ( $ "Само сообщение, которое нужно проанализировать:\n { text } ") ;
520+ fullPrompt . AppendLine ( CultureInfo . InvariantCulture , $ "Само сообщение, которое нужно проанализировать:\n { text } ") ;
517521 else
518522 fullPrompt . AppendLine ( "Само сообщение не содержит текста, только изображение." ) ;
519523
0 commit comments