需要协助处理大量垃圾邮件

感谢大家到目前为止的回复。

禁用注册一天后,我们又恢复了正常。

@RGJ 我喜欢你关于设置障碍来加入有发帖权限的群组的想法,我们会进一步研究这一点。

通过使用数据浏览器,我已经能够识别出大约 5,000 个之前未被发现的机器人账户。

@MikeNolan 我不确定我是否拥有 rails 控制台的访问权限。我们直接与 discourse 合作托管,而且我没有参与购买/入职流程,所以我正在向上级询问,以确定我们拥有哪些访问权限。

我猜我也可以通过 API 进行删除?我看到我可以轻松地生成 API 凭证。

类似这样的:

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'Successfully deleted user {user_id}')
    else:
        print(f'Failed to delete user {user_id}. Status code: {response.status_code}, Response: {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'Error occurred while deleting user {user_id}: {e}')

        time.sleep(1)  # Add a delay to avoid overwhelming the server with requests
1 个赞