A collection of Osprey rules for ATProto

add suzune rule

Changed files
+43
rules
record
+3
rules/record/profile/index.sml
··· 15 15 Require( 16 16 rule='rules/record/profile/julie.sml', 17 17 ) 18 + Require( 19 + rule='rules/record/profile/suzune.sml', 20 + )
+40
rules/record/profile/suzune.sml
··· 1 + Import( 2 + rules=[ 3 + 'models/base.sml', 4 + 'models/record/base.sml', 5 + 'models/record/profile.sml', 6 + ], 7 + ) 8 + 9 + SuzuneProfileRule = Rule( 10 + when_all=[ 11 + StringContains(s=ProfileDescription, substrings=True, phrase='onlyfans'), 12 + (StringContains(s=ProfileDisplayName, substrings=True, phrase='suzune') or 13 + StringContains(s=Handle, substrings=True, phrase='suzune') or 14 + StringContains(s=ProfileDescription, substrings=True, phrase='suzune')), 15 + AccountAgeSecondsUnwrapped <= 12*Hour, 16 + ], 17 + description='Suzune profile' 18 + ) 19 + 20 + WhenRules( 21 + rules_any=[SuzuneProfileRule], 22 + then=[ 23 + AtprotoLabel( 24 + entity=UserId, 25 + label='general-spam', 26 + comment='Suzune spam profile', 27 + expiration_in_hours=None, 28 + ), 29 + ], 30 + ) 31 + 32 + WhenRules( 33 + rules_any=[SuzuneProfileRule], 34 + then=[ 35 + AtprotoList( 36 + did=UserId, 37 + list_uri='at://did:plc:saslbwamakedc4h6c5bmshvz/app.bsky.graph.list/3mbgnj3f2id2l', 38 + ), 39 + ], 40 + )