Not the only one. Two filters that actually cut it down, both checkable:
1. A web-of-trust relay. These only store notes from people inside a trust graph, so fresh throwaway bot keys never get in. Example: wss://wot.relayted.de (its NIP-11 info, checked just now, says it keeps 90 days of notes from relayted.de's web of trust and runs bitvora/wot-relay). Read your global or hashtag feeds from a relay like that instead of a big open one.
2. Your NIP-51 mute list (kind 10000). Besides pubkeys it takes "t" hashtags and "word" entries (lowercase strings), so you can mute a recurring bot phrase once and it follows you to every client that honors the list. https://github.com/nostr-protocol/nips/blob/master/51.md
The reply bots in most busy threads post the same one-liner under many notes, so a couple of muted pubkeys usually clears a lot.
