You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Bluesky定时Bot调用Client.login报错‘Profile not found’求助

Bluesky机器人登录失败(Profile not found)问题排查与解决

针对你遇到的机器人调用Client.login失败、抛出Profile not found错误的问题,结合补充信息,给出以下排查和解决步骤:

1. 确认用户名格式的完整性

Bluesky登录要求使用完整的handle格式(例如your-username.bsky.social),而非仅前缀名称。检查代码中传入的<username>是否为完整handle,部分场景下旧版本库可能兼容不完整格式,但平台后续验证逻辑收紧后会触发该错误。

2. 改用会话持久化,避免重复登录

你的机器人每小时发帖,完全不需要每次运行都重新登录。通过保存登录会话,可以彻底规避登录次数相关的限制(包括隐性限制),示例代码如下:

import json
from atproto import Client

def get_client():
    # 尝试加载已有会话
    try:
        with open('bsky_session.json', 'r') as f:
            session_data = json.load(f)
        
        client = Client()
        client.load_session(session_data)
        # 验证会话有效性
        client.get_profile(client.me.handle)
        return client
    except (FileNotFoundError, Exception):
        # 会话失效或不存在时重新登录
        client = Client()
        client.login('完整的handle', '密码或应用密码')
        # 保存会话到本地文件
        with open('bsky_session.json', 'w') as f:
            json.dump(client.export_session(), f)
        return client

# 使用客户端执行发帖
client = get_client()
client.send_post(text="你的发帖内容")

3. 排查账号是否触发自动化检测

虽然公开速率限制显示剩余次数充足,但Bluesky可能对自动化操作的账号有隐性的登录频率限制。尝试:

  • 保持会话持久化,减少登录次数
  • 若必须重新登录,延长两次登录的间隔(例如24小时以上)
  • 若怀疑账号被误判限制,可通过bsky.app的支持渠道提交申诉

4. 升级atproto库到最新版本

旧版本的atproto库可能存在与Bluesky平台接口的兼容性问题,执行升级命令:

pip install --upgrade atproto

内容的提问来源于stack exchange,提问作者Craig Amundsen

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.18 18:40:11