feat: add hardcoded bot pubkey filtering

This commit is contained in:
Gigi
2025-10-21 09:01:10 +02:00
parent f542cee4cc
commit 47d257faaf
2 changed files with 19 additions and 1 deletions

View File

@@ -6,6 +6,7 @@ import { formatDistance } from 'date-fns'
import { BlogPostPreview } from '../services/exploreService' import { BlogPostPreview } from '../services/exploreService'
import { useEventModel } from 'applesauce-react/hooks' import { useEventModel } from 'applesauce-react/hooks'
import { Models } from 'applesauce-core' import { Models } from 'applesauce-core'
import { isKnownBot } from '../config/bots'
interface BlogPostCardProps { interface BlogPostCardProps {
post: BlogPostPreview post: BlogPostPreview
@@ -22,7 +23,7 @@ const BlogPostCard: React.FC<BlogPostCardProps> = ({ post, href, level, readingP
const rawName = (profile?.name || profile?.display_name || '').toLowerCase() const rawName = (profile?.name || profile?.display_name || '').toLowerCase()
// Hide bot authors by name/display_name // Hide bot authors by name/display_name
if (hideBotByName && rawName.includes('bot')) { if (hideBotByName && (rawName.includes('bot') || isKnownBot(post.author))) {
return null return null
} }

17
src/config/bots.ts Normal file
View File

@@ -0,0 +1,17 @@
import { nip19 } from 'nostr-tools'
/**
* Hardcoded list of bot pubkeys (hex format) to hide articles from
* These are accounts known to be bots or automated services
*/
export const BOT_PUBKEYS = new Set([
// Step Counter Bot (npub14l5xklll5vxzrf6hfkv8m6n2gqevythn5pqc6ezluespah0e8ars4279ss)
nip19.decode('npub14l5xklll5vxzrf6hfkv8m6n2gqevythn5pqc6ezluespah0e8ars4279ss').data as string,
])
/**
* Check if a pubkey corresponds to a known bot
*/
export function isKnownBot(pubkey: string): boolean {
return BOT_PUBKEYS.has(pubkey)
}