Akismet: ¿Usar para publicaciones existentes?

Hola, una pregunta rápida.

¿Crees que Discourse Akismet se pueda usar de alguna manera para detectar spam en las publicaciones existentes?

Estoy importando un foro con mucho spam y no puedo limpiarlo todo antes de importarlo a Discourse.

3 Me gusta

Creo que podría hacerlo en un script de importación, aunque no estoy del todo seguro de cómo.

2 Me gusta

Es posible, pero creo que tendrás que hacer cambios en el script de importación.

Necesitarás poder instanciar esta clase en el script:

Es posible que necesites copiar el código y adaptarlo para que funcione sin el código específico de Discourse como Discourse.base_url, SiteSetting.akismet_api_key, etc.

El método #comment_check del cliente espera un cuerpo, así que tendrás que construir algo como esto:

Más información sobre esto aquí.

Luego podrías hacer algo como esto:

# Verifica si una publicación es spam.
client = Akismet.build_client
body = <tu código>

is_spam = client.comment_check(body)
5 Me gusta