跳转至

Oopz SDK 文档

oopz-sdk 是一个面向 Oopz 平台的异步 Python SDK,封装 HTTP API、文件上传、WebSocket 事件订阅、消息模型、事件模型、语音推流以及 OneBot v11 / v12 适配能力。

本项目由社区开发与维护,旨在为机器人开发、自动化集成和协议适配提供更方便的 Python 接口。

需要注意的是,项目要求 Python 3.10 及以上版本。

项目还处于早期开发阶段,欢迎社区参与测试、反馈和贡献。

选择入口

你想做什么 应该看
第一次使用,想跑通一个机器人 5 分钟上手
只想安装 SDK 安装
不知道 areachannelctx 是什么 核心概念
配置凭证、代理、重试、心跳 配置方法
监听消息、撤回、频道变化等事件 事件系统
发送文本、图片、私信、Segment 消息发送
查询已加入域和频道 ID 列出 area 和 channel
接入 OneBot v11 / v12、NoneBot2 / AstrBot OneBot 适配
查询 service API Service 总览

最小机器人示例

下面的机器人会在频道收到 ping 时回复 pong

import asyncio

from oopz_sdk import OopzBot, OopzConfig
from oopz_sdk.events import EventContext
from oopz_sdk.models import Message

config = OopzConfig()

config.login(phone="填入登录手机号", password="填入登录密码")

bot = OopzBot(config)

@bot.on_message
async def handle_message(message: Message, ctx: EventContext):
    if message.text.strip() == "ping":
        await ctx.reply("pong")


async def main() -> None:
    try:
        await bot.run()
    finally:
        await bot.stop()


asyncio.run(main())

完整解释见 5 分钟上手

文档结构

  • 快速开始:按安装、配置、核心概念、最小机器人顺序学习。
  • 基础用法:消息、事件、生命周期、媒体、语音等常用能力。
  • 常见任务:按任务组织的完整示例,例如回复消息、发图、列频道。
  • 适配器:OneBot v11 / v12、NoneBot2 / AstrBot 等生态接入说明。
  • API 参考:按 service 和模型查询参数、返回值和注意事项。
  • 开发:文档站点构建、贡献和维护说明。

推荐入口

日常使用 SDK 时,推荐从 OopzBot 开始。

OopzBot 负责组合配置、HTTP Service、WebSocket 连接、事件分发以及上下文能力,并且提供了装饰器和函数式的事件注册,是面向开发者的主要入口。

对象 说明
OopzBot 高层 Bot 入口,负责启动连接、监听事件、分发回调、发送消息和调用各类 service。
OopzConfig SDK 配置对象,保存凭证、API 地址、WebSocket 地址、代理、重试、心跳、语音和 OneBot 相关配置。
OopzRESTClient 底层 REST 客户端,包装 HTTP transport、签名和所有 service。仅做接口调用、不需要 WebSocket 时使用。
OopzWSClient 底层 WebSocket 客户端,仅做事件接收、不需要 REST 调用时使用。

对于大多数机器人开发场景,只需要直接使用 OopzBotOopzConfig

OopzRESTClientOopzWSClient 属于较底层的客户端封装,通常由 OopzBot 自动创建和管理。只有在你需要扩展 SDK、调试底层请求,或绕过 Bot 层直接调用 REST / WebSocket 能力时,才需要关注它们。