@@ -71,12 +71,12 @@ public static async Task MessageDeleted(DiscordClient client, MessageDeletedEven
71
71
await DiscordHelpers . DoEmptyThreadCleanupAsync ( e . Channel , e . Message ) ;
72
72
}
73
73
74
- static async Task DeleteAndWarnAsync ( DiscordMessage message , string reason , DiscordClient client )
74
+ static async Task DeleteAndWarnAsync ( DiscordMessage message , string reason , DiscordClient client , string messageContentOverride = default )
75
75
{
76
- await DeleteAndWarnAsync ( new MockDiscordMessage ( message ) , reason , client ) ;
76
+ await DeleteAndWarnAsync ( new MockDiscordMessage ( message ) , reason , client , messageContentOverride : messageContentOverride ) ;
77
77
}
78
78
79
- static async Task DeleteAndWarnAsync ( MockDiscordMessage message , string reason , DiscordClient client , bool wasAutoModBlock = false )
79
+ static async Task DeleteAndWarnAsync ( MockDiscordMessage message , string reason , DiscordClient client , bool wasAutoModBlock = false , string messageContentOverride = default )
80
80
{
81
81
var channel = message . Channel ;
82
82
DiscordMessage msg ;
@@ -100,7 +100,7 @@ static async Task DeleteAndWarnAsync(MockDiscordMessage message, string reason,
100
100
101
101
try
102
102
{
103
- _ = InvestigationsHelpers . SendInfringingMessaageAsync ( "mod" , message , reason , null , wasAutoModBlock : wasAutoModBlock ) ;
103
+ _ = InvestigationsHelpers . SendInfringingMessaageAsync ( "mod" , message , reason , null , wasAutoModBlock : wasAutoModBlock , messageContentOverride : messageContentOverride ) ;
104
104
}
105
105
catch
106
106
{
@@ -121,7 +121,8 @@ public static async Task MessageHandlerAsync(DiscordClient client, MockDiscordMe
121
121
122
122
string msgContentWithEmbedData = message . Content ;
123
123
var embeds = new List < DiscordEmbed > ( ) ;
124
- embeds . AddRange ( message . Embeds ) ;
124
+ if ( message . Embeds is not null )
125
+ embeds . AddRange ( message . Embeds . Where ( embed => embed . Type != "auto_moderation_message" ) ) ;
125
126
126
127
if ( message . MessageSnapshots is not null )
127
128
foreach ( var snapshot in message . MessageSnapshots )
@@ -347,8 +348,8 @@ public static async Task MessageHandlerAsync(DiscordClient client, MockDiscordMe
347
348
var mentionCount = message . MentionedUsers is not null && message . MentionedUsers . Count > 0 ? message . MentionedUsers . Count : message . MentionedUsersCount ;
348
349
string content = $ "{ Program . cfgjson . Emoji . Banned } { message . Author . Mention } was automatically banned for mentioning **{ mentionCount } ** users.";
349
350
var chatMsg = await channel . SendMessageAsync ( content ) ;
350
- _ = InvestigationsHelpers . SendInfringingMessaageAsync ( "investigations" , message , "Mass mentions (Ban threshold)" , DiscordHelpers . MessageLink ( chatMsg ) , content : content , wasAutoModBlock : wasAutoModBlock ) ;
351
- _ = InvestigationsHelpers . SendInfringingMessaageAsync ( "mod" , message , "Mass mentions (Ban threshold)" , DiscordHelpers . MessageLink ( chatMsg ) , content : content , wasAutoModBlock : wasAutoModBlock ) ;
351
+ _ = InvestigationsHelpers . SendInfringingMessaageAsync ( "investigations" , message , "Mass mentions (Ban threshold)" , DiscordHelpers . MessageLink ( chatMsg ) , content : content , messageContentOverride : msgContentWithEmbedData , wasAutoModBlock : wasAutoModBlock ) ;
352
+ _ = InvestigationsHelpers . SendInfringingMessaageAsync ( "mod" , message , "Mass mentions (Ban threshold)" , DiscordHelpers . MessageLink ( chatMsg ) , content : content , messageContentOverride : msgContentWithEmbedData , wasAutoModBlock : wasAutoModBlock ) ;
352
353
return ;
353
354
}
354
355
@@ -374,7 +375,7 @@ public static async Task MessageHandlerAsync(DiscordClient client, MockDiscordMe
374
375
string reason = listItem . Reason ;
375
376
try
376
377
{
377
- await InvestigationsHelpers . SendInfringingMessaageAsync ( "mod" , message , reason , null , wasAutoModBlock : wasAutoModBlock ) ;
378
+ await InvestigationsHelpers . SendInfringingMessaageAsync ( "mod" , message , reason , null , messageContentOverride : msgContentWithEmbedData , wasAutoModBlock : wasAutoModBlock ) ;
378
379
}
379
380
catch
380
381
{
@@ -393,7 +394,7 @@ public static async Task MessageHandlerAsync(DiscordClient client, MockDiscordMe
393
394
394
395
DiscordMessage msg = await WarningHelpers . SendPublicWarningMessageAndDeleteInfringingMessageAsync ( message , $ "{ Program . cfgjson . Emoji . Denied } { message . Author . Mention } was automatically warned: **{ reason . Replace ( "`" , "\\ `" ) . Replace ( "*" , "\\ *" ) } **", wasAutoModBlock , 1 ) ;
395
396
var warning = await WarningHelpers . GiveWarningAsync ( message . Author , client . CurrentUser , reason , contextMessage : msg , channel , " automatically " ) ;
396
- await InvestigationsHelpers . SendInfringingMessaageAsync ( "investigations" , message , reason , warning . ContextLink , extraField : ( "Match" , flaggedWord , true ) , wasAutoModBlock : wasAutoModBlock ) ;
397
+ await InvestigationsHelpers . SendInfringingMessaageAsync ( "investigations" , message , reason , warning . ContextLink , extraField : ( "Match" , flaggedWord , true ) , messageContentOverride : msgContentWithEmbedData , wasAutoModBlock : wasAutoModBlock ) ;
397
398
return ;
398
399
}
399
400
}
@@ -423,7 +424,7 @@ public static async Task MessageHandlerAsync(DiscordClient client, MockDiscordMe
423
424
string reason = "Sent an unapproved invite" ;
424
425
try
425
426
{
426
- _ = InvestigationsHelpers . SendInfringingMessaageAsync ( "mod" , message , reason , null , wasAutoModBlock : wasAutoModBlock ) ;
427
+ _ = InvestigationsHelpers . SendInfringingMessaageAsync ( "mod" , message , reason , null , messageContentOverride : msgContentWithEmbedData , wasAutoModBlock : wasAutoModBlock ) ;
427
428
}
428
429
catch
429
430
{
@@ -432,7 +433,7 @@ public static async Task MessageHandlerAsync(DiscordClient client, MockDiscordMe
432
433
433
434
DiscordMessage msg = await WarningHelpers . SendPublicWarningMessageAndDeleteInfringingMessageAsync ( message , $ "{ Program . cfgjson . Emoji . Denied } { message . Author . Mention } was automatically warned: **{ reason . Replace ( "`" , "\\ `" ) . Replace ( "*" , "\\ *" ) } **", wasAutoModBlock , 1 ) ;
434
435
var warning = await WarningHelpers . GiveWarningAsync ( message . Author , client . CurrentUser , reason , contextMessage : msg , channel , " automatically " ) ;
435
- await InvestigationsHelpers . SendInfringingMessaageAsync ( "investigations" , message , reason , warning . ContextLink , wasAutoModBlock : wasAutoModBlock ) ;
436
+ await InvestigationsHelpers . SendInfringingMessaageAsync ( "investigations" , message , reason , warning . ContextLink , messageContentOverride : msgContentWithEmbedData , wasAutoModBlock : wasAutoModBlock ) ;
436
437
match = true ;
437
438
return ;
438
439
}
@@ -442,7 +443,7 @@ public static async Task MessageHandlerAsync(DiscordClient client, MockDiscordMe
442
443
if ( ( await GetPermLevelAsync ( member ) ) < ( ServerPermLevel ) Program . cfgjson . InviteTierRequirement && inviteMatches . Count > 3 )
443
444
{
444
445
string reason = "Sent too many invites" ;
445
- await DeleteAndWarnAsync ( message , reason , client , wasAutoModBlock ) ;
446
+ await DeleteAndWarnAsync ( message , reason , client , wasAutoModBlock , messageContentOverride : msgContentWithEmbedData ) ;
446
447
match = true ;
447
448
return ;
448
449
}
@@ -469,7 +470,7 @@ public static async Task MessageHandlerAsync(DiscordClient client, MockDiscordMe
469
470
if ( ! match )
470
471
{
471
472
string reason = "Sent an unapproved invite" ;
472
- await DeleteAndWarnAsync ( message , reason , client , wasAutoModBlock ) ;
473
+ await DeleteAndWarnAsync ( message , reason , client , wasAutoModBlock , messageContentOverride : msgContentWithEmbedData ) ;
473
474
match = true ;
474
475
}
475
476
break ;
@@ -502,7 +503,7 @@ public static async Task MessageHandlerAsync(DiscordClient client, MockDiscordMe
502
503
string responseToSend = $ "```json\n { JsonConvert . SerializeObject ( maliciousCache ) } \n ```";
503
504
504
505
( string name , string value , bool inline ) extraField = new ( "Cached API response" , responseToSend , false ) ;
505
- await InvestigationsHelpers . SendInfringingMessaageAsync ( "investigations" , message , reason , warning . ContextLink , extraField , wasAutoModBlock : wasAutoModBlock ) ;
506
+ await InvestigationsHelpers . SendInfringingMessaageAsync ( "investigations" , message , reason , warning . ContextLink , extraField , messageContentOverride : msgContentWithEmbedData , wasAutoModBlock : wasAutoModBlock ) ;
506
507
507
508
match = true ;
508
509
break ;
@@ -530,7 +531,7 @@ public static async Task MessageHandlerAsync(DiscordClient client, MockDiscordMe
530
531
if ( ! match )
531
532
{
532
533
string reason = "Sent an unapproved invite" ;
533
- await DeleteAndWarnAsync ( message , reason , client , wasAutoModBlock ) ;
534
+ await DeleteAndWarnAsync ( message , reason , client , wasAutoModBlock , messageContentOverride : msgContentWithEmbedData ) ;
534
535
}
535
536
return ;
536
537
}
@@ -592,7 +593,7 @@ public static async Task MessageHandlerAsync(DiscordClient client, MockDiscordMe
592
593
pardonOutput = $ "{ Program . cfgjson . Emoji . Information } { message . Author . Mention } Your message was automatically deleted for mass emoji.";
593
594
594
595
var msgOut = await WarningHelpers . SendPublicWarningMessageAndDeleteInfringingMessageAsync ( message , pardonOutput , wasAutoModBlock ) ;
595
- await InvestigationsHelpers . SendInfringingMessaageAsync ( "investigations" , message , reason , DiscordHelpers . MessageLink ( msgOut ) , wasAutoModBlock : wasAutoModBlock ) ;
596
+ await InvestigationsHelpers . SendInfringingMessaageAsync ( "investigations" , message , reason , DiscordHelpers . MessageLink ( msgOut ) , messageContentOverride : msgContentWithEmbedData , wasAutoModBlock : wasAutoModBlock ) ;
596
597
return ;
597
598
}
598
599
@@ -605,7 +606,7 @@ public static async Task MessageHandlerAsync(DiscordClient client, MockDiscordMe
605
606
606
607
DiscordMessage msg = await WarningHelpers . SendPublicWarningMessageAndDeleteInfringingMessageAsync ( message , output , wasAutoModBlock ) ;
607
608
var warning = await WarningHelpers . GiveWarningAsync ( message . Author , client . CurrentUser , reason , contextMessage : msg , channel , " automatically " ) ;
608
- await InvestigationsHelpers . SendInfringingMessaageAsync ( "investigations" , message , reason , warning . ContextLink , wasAutoModBlock : wasAutoModBlock ) ;
609
+ await InvestigationsHelpers . SendInfringingMessaageAsync ( "investigations" , message , reason , warning . ContextLink , messageContentOverride : msgContentWithEmbedData , wasAutoModBlock : wasAutoModBlock ) ;
609
610
return ;
610
611
}
611
612
@@ -684,7 +685,7 @@ public static async Task MessageHandlerAsync(DiscordClient client, MockDiscordMe
684
685
string responseToSend = await StringHelpers . CodeOrHasteBinAsync ( responseText , "json" , 1000 , true ) ;
685
686
686
687
( string name , string value , bool inline ) extraField = new ( "API Response" , responseToSend , false ) ;
687
- await InvestigationsHelpers . SendInfringingMessaageAsync ( "investigations" , message , reason , warning . ContextLink , extraField , wasAutoModBlock : wasAutoModBlock ) ;
688
+ await InvestigationsHelpers . SendInfringingMessaageAsync ( "investigations" , message , reason , warning . ContextLink , extraField , messageContentOverride : msgContentWithEmbedData , wasAutoModBlock : wasAutoModBlock ) ;
688
689
return ;
689
690
}
690
691
}
@@ -708,7 +709,7 @@ public static async Task MessageHandlerAsync(DiscordClient client, MockDiscordMe
708
709
string reason = "Attempted to ping everyone/here" ;
709
710
DiscordMessage msg = await WarningHelpers . SendPublicWarningMessageAndDeleteInfringingMessageAsync ( message , $ "{ Program . cfgjson . Emoji . Denied } { message . Author . Mention } was automatically warned: **{ reason . Replace ( "`" , "\\ `" ) . Replace ( "*" , "\\ *" ) } **", wasAutoModBlock ) ;
710
711
var warning = await WarningHelpers . GiveWarningAsync ( message . Author , client . CurrentUser , reason , contextMessage : msg , channel , " automatically " ) ;
711
- await InvestigationsHelpers . SendInfringingMessaageAsync ( "investigations" , message , reason , warning . ContextLink , wasAutoModBlock : wasAutoModBlock ) ;
712
+ await InvestigationsHelpers . SendInfringingMessaageAsync ( "investigations" , message , reason , warning . ContextLink , messageContentOverride : msgContentWithEmbedData , wasAutoModBlock : wasAutoModBlock ) ;
712
713
return ;
713
714
}
714
715
@@ -727,7 +728,7 @@ public static async Task MessageHandlerAsync(DiscordClient client, MockDiscordMe
727
728
string reason = "Mass mentions" ;
728
729
try
729
730
{
730
- _ = InvestigationsHelpers . SendInfringingMessaageAsync ( "mod" , message , reason , null , wasAutoModBlock : wasAutoModBlock ) ;
731
+ _ = InvestigationsHelpers . SendInfringingMessaageAsync ( "mod" , message , reason , null , messageContentOverride : msgContentWithEmbedData , wasAutoModBlock : wasAutoModBlock ) ;
731
732
}
732
733
catch
733
734
{
@@ -736,7 +737,7 @@ public static async Task MessageHandlerAsync(DiscordClient client, MockDiscordMe
736
737
737
738
DiscordMessage msg = await WarningHelpers . SendPublicWarningMessageAndDeleteInfringingMessageAsync ( message , $ "{ Program . cfgjson . Emoji . Denied } { message . Author . Mention } was automatically warned: **{ reason . Replace ( "`" , "\\ `" ) . Replace ( "*" , "\\ *" ) } **", wasAutoModBlock ) ;
738
739
var warning = await WarningHelpers . GiveWarningAsync ( message . Author , client . CurrentUser , reason , contextMessage : msg , channel , " automatically " ) ;
739
- await InvestigationsHelpers . SendInfringingMessaageAsync ( "investigations" , message , reason , warning . ContextLink , wasAutoModBlock : wasAutoModBlock ) ;
740
+ await InvestigationsHelpers . SendInfringingMessaageAsync ( "investigations" , message , reason , warning . ContextLink , messageContentOverride : msgContentWithEmbedData , wasAutoModBlock : wasAutoModBlock ) ;
740
741
return ;
741
742
}
742
743
@@ -783,7 +784,7 @@ public static async Task MessageHandlerAsync(DiscordClient client, MockDiscordMe
783
784
{
784
785
msg = await channel . SendMessageAsync ( messageBuilder ) ;
785
786
}
786
- await InvestigationsHelpers . SendInfringingMessaageAsync ( "investigations" , message , reason , DiscordHelpers . MessageLink ( msg ) , wasAutoModBlock : wasAutoModBlock ) ;
787
+ await InvestigationsHelpers . SendInfringingMessaageAsync ( "investigations" , message , reason , DiscordHelpers . MessageLink ( msg ) , messageContentOverride : msgContentWithEmbedData , wasAutoModBlock : wasAutoModBlock ) ;
787
788
return ;
788
789
}
789
790
else
@@ -805,7 +806,7 @@ public static async Task MessageHandlerAsync(DiscordClient client, MockDiscordMe
805
806
}
806
807
807
808
var warning = await WarningHelpers . GiveWarningAsync ( message . Author , client . CurrentUser , reason , contextMessage : msg , channel , " automatically " ) ;
808
- await InvestigationsHelpers . SendInfringingMessaageAsync ( "investigations" , message , reason , warning . ContextLink , wasAutoModBlock : wasAutoModBlock ) ;
809
+ await InvestigationsHelpers . SendInfringingMessaageAsync ( "investigations" , message , reason , warning . ContextLink , messageContentOverride : msgContentWithEmbedData , wasAutoModBlock : wasAutoModBlock ) ;
809
810
810
811
return ;
811
812
}
@@ -892,6 +893,7 @@ await InvestigationsHelpers.SendInfringingMessaageAsync(
892
893
colour : new DiscordColor ( 0xFEC13D ) ,
893
894
channelOverride : logChannel ,
894
895
extraField : extraField ,
896
+ messageContentOverride : msgContentWithEmbedData ,
895
897
wasAutoModBlock : wasAutoModBlock
896
898
) ;
897
899
}
0 commit comments