mirror of
https://github.com/aykhans/bsky-feedgen.git
synced 2025-06-01 19:07:34 +00:00
Compare commits
2 Commits
bc29dabd8a
...
b9633e84da
Author | SHA1 | Date | |
---|---|---|---|
b9633e84da | |||
802ff21a42 |
@ -1,3 +1,3 @@
|
|||||||
package main
|
package main
|
||||||
|
|
||||||
const version = "0.2.2"
|
const version = "0.2.201"
|
||||||
|
@ -1,3 +1,3 @@
|
|||||||
package main
|
package main
|
||||||
|
|
||||||
const version = "0.1.105"
|
const version = "0.1.106"
|
||||||
|
@ -110,16 +110,24 @@ func (generator *Generator) Start(ctx context.Context, cursorOption types.Genera
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (generator *Generator) IsValid(post *collections.Post) bool {
|
func (generator *Generator) IsValid(post *collections.Post) bool {
|
||||||
|
// Skip posts that are deep replies (not direct replies to original posts)
|
||||||
if post.Reply != nil && post.Reply.RootURI != post.Reply.ParentURI {
|
if post.Reply != nil && post.Reply.RootURI != post.Reply.ParentURI {
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Check if the user who created this post is in our pre-defined list
|
||||||
|
// This allows for explicit inclusion/exclusion of specific users
|
||||||
if isValidUser := Users.IsValid(post.DID); isValidUser != nil {
|
if isValidUser := Users.IsValid(post.DID); isValidUser != nil {
|
||||||
return *isValidUser
|
return *isValidUser
|
||||||
}
|
}
|
||||||
|
|
||||||
if (slices.Contains(post.Langs, "az") && len(post.Langs) < 3) || // Posts in Azerbaijani language with fewer than 3 languages
|
// A post is considered valid if it meets either of the following criteria:
|
||||||
generator.textRegex.MatchString(post.Text) { // Posts containing Azerbaijan-related keywords
|
// 1. It's primarily in Azerbaijani (language code "az") with less than 3 detected languages
|
||||||
|
// (to filter out multi-language spam)
|
||||||
|
// 2. It contains Azerbaijan-related keywords in the text AND has at least one valid language
|
||||||
|
// from our approved language list
|
||||||
|
if (slices.Contains(post.Langs, "az") && len(post.Langs) < 3) ||
|
||||||
|
(generator.textRegex.MatchString(post.Text) && Langs.IsExistsAny(post.Langs)) {
|
||||||
return true
|
return true
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -28,6 +28,9 @@ var Users = generator.Users{
|
|||||||
"did:plc:6bvhdvgeqkj7nol2zodtqmww": false,
|
"did:plc:6bvhdvgeqkj7nol2zodtqmww": false,
|
||||||
"did:plc:k6sxlkd5ssq2uaylzisap2tw": false,
|
"did:plc:k6sxlkd5ssq2uaylzisap2tw": false,
|
||||||
"did:plc:uxljnh22mmfzmr4i3oien6mx": false,
|
"did:plc:uxljnh22mmfzmr4i3oien6mx": false,
|
||||||
|
"did:plc:w5gg2zgwcyfevphehdcmavev": false,
|
||||||
|
"did:plc:ckawbibgmrwg3lbskfppwtlw": false,
|
||||||
|
"did:plc:43fdk46qa5gsokzygzildsaq": false,
|
||||||
|
|
||||||
// Valid
|
// Valid
|
||||||
"did:plc:jbt4qi6psd7rutwzedtecsq7": true,
|
"did:plc:jbt4qi6psd7rutwzedtecsq7": true,
|
||||||
@ -42,3 +45,10 @@ var Users = generator.Users{
|
|||||||
"did:plc:ftoopigdpuzqt2kpeyqxsofx": true,
|
"did:plc:ftoopigdpuzqt2kpeyqxsofx": true,
|
||||||
"did:plc:cs2cbzojm6hmx5lfxiuft3mq": true,
|
"did:plc:cs2cbzojm6hmx5lfxiuft3mq": true,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
var Langs = generator.Langs{
|
||||||
|
"az": true,
|
||||||
|
"en": true,
|
||||||
|
"tr": true,
|
||||||
|
"ru": true,
|
||||||
|
}
|
||||||
|
@ -67,3 +67,23 @@ func (u Users) GetAll() []string {
|
|||||||
|
|
||||||
return allUsers
|
return allUsers
|
||||||
}
|
}
|
||||||
|
|
||||||
|
type Langs map[string]bool
|
||||||
|
|
||||||
|
// IsExistsAny checks if any of the given language codes exist in the Langs map.
|
||||||
|
//
|
||||||
|
// Parameters:
|
||||||
|
// - langs: A slice of language code strings to check for existence
|
||||||
|
//
|
||||||
|
// Returns:
|
||||||
|
// - bool: true if at least one language code from the input slice exists in the map,
|
||||||
|
// false if none of the provided language codes exist
|
||||||
|
func (l Langs) IsExistsAny(langs []string) bool {
|
||||||
|
for _, lang := range langs {
|
||||||
|
if _, ok := l[lang]; ok {
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user