Preciso de ajuda com uma quantidade enorme de spam

Agradeço as respostas até agora.

Com o desativação de registros por um dia, conseguimos nos recuperar.

@RGJ Gostei da sua ideia de criar etapas para conseguir ser adicionado a um grupo com permissões de postagem, é algo que vamos explorar.

Usando o explorador de dados, consegui identificar cerca de 5.000 contas de bots adicionais que passaram despercebidas até agora.

@MikeNolan Não tenho certeza se já tenho acesso ao console do rails. Estamos hospedando diretamente com o discourse e eu não fiz parte do processo de compra/onboarding, então estou encaminhando esta questão para cima para determinar qual acesso temos.

Imagino que eu também possa realizar exclusões através da API? Vejo que posso gerar minhas próprias credenciais de API facilmente.

Algo como:

import csv
import requests
import time

api_key = 'api_key'
api_username = 'api_username'
base_url = 'https://mydomain.com'
headers = {
    'Api-Key': api_key,
    'Api-Username': api_username
}

def delete_user(user_id):
    delete_url = f'{base_url}/admin/users/{user_id}.json'
    response = requests.delete(delete_url, headers=headers)
    
    if response.status_code == 200:
        print(f'Usuário {user_id} excluído com sucesso')
    else:
        print(f'Falha ao excluir usuário {user_id}. Código de status: {response.status_code}, Resposta: {response.text}')

with open('user_ids_to_delete.csv', 'r') as csvfile:
    reader = csv.reader(csvfile)
    for row in reader:
        user_id = row[0]
        try:
            delete_user(user_id)
        except Exception as e:
            print(f'Ocorreu um erro ao excluir o usuário {user_id}: {e}')
        
        time.sleep(1)  # Adiciona um atraso para evitar sobrecarregar o servidor com requisições
1 curtida