Skip to main content

DooTask Tools 客户端库

Project description

DooTask Tools

一个用于与 DooTask 系统交互的 Python 客户端库,提供了完整的 API 封装和类型支持。

安装

pip install dootask-tools

快速开始

初始化客户端

from dootask import DooTaskClient

# 创建客户端
client = DooTaskClient(
    token="your_token_here",
    server="https://your-dootask-server.com"
)

# 获取用户信息
user = client.get_user_info()
print(f"用户: {user.nickname}")

发送消息示例

from dootask import SendMessageRequest, SendMessageToUserRequest

# 发送消息到指定对话
client.send_message(SendMessageRequest(
    dialog_id=123,
    text="Hello, World!",
    text_type="md"
))

# 发送消息到用户
client.send_message_to_user(SendMessageToUserRequest(
    userid=456,
    text="私信内容",
    text_type="md"
))

项目管理示例

from dootask import GetProjectListRequest, CreateProjectRequest, CreateTaskRequest

# 获取项目列表
projects = client.get_project_list(GetProjectListRequest(
    page=1,
    pagesize=20
))

# 创建项目
project = client.create_project(CreateProjectRequest(
    name="新项目",
    desc="项目描述"
))

# 创建任务
task = client.create_task(CreateTaskRequest(
    project_id=project.id,
    name="新任务",
    content="任务内容"
))

API 方法列表

客户端配置

方法 描述 参数 返回值
DooTaskClient 创建客户端实例 token, server, timeout DooTaskClient

用户相关接口

方法 描述 参数 返回值
get_user_info 获取用户信息 no_cache=False UserInfo
check_user_identity 检查用户身份 identity UserInfo
get_user_departments 获取用户部门信息 - List[Department]
get_users_basic 获取多个用户基础信息 userids: List[int] List[UserBasic]
get_user_basic 获取单个用户基础信息 userid: int UserBasic

消息相关接口

方法 描述 参数 返回值
send_message 发送消息 SendMessageRequest None
send_message_to_user 发送消息到用户 SendMessageToUserRequest None
send_bot_message 发送机器人消息 SendBotMessageRequest None
send_anonymous_message 发送匿名消息 SendAnonymousMessageRequest None

对话相关接口

方法 描述 参数 返回值
get_dialog_list 获取对话列表 TimeRangeRequest ResponsePaginate[DialogInfo]
search_dialog 搜索会话 SearchDialogRequest List[DialogInfo]
get_dialog_one 获取单个会话信息 GetDialogRequest DialogInfo
get_dialog_user 获取会话成员 GetDialogUserRequest List[DialogMember]

群组相关接口

方法 描述 参数 返回值
create_group 创建群组 CreateGroupRequest DialogInfo
edit_group 修改群组 EditGroupRequest None
add_group_user 添加群成员 AddGroupUserRequest None
remove_group_user 移除群成员 RemoveGroupUserRequest None
exit_group 退出群组 dialog_id: int None
transfer_group 转让群组 TransferGroupRequest None
disband_group 解散群组 DisbandGroupRequest None

项目管理相关接口

方法 描述 参数 返回值
get_project_list 获取项目列表 GetProjectListRequest ResponsePaginate[Project]
get_project 获取项目信息 GetProjectRequest Project
create_project 创建项目 CreateProjectRequest Project
update_project 更新项目 UpdateProjectRequest Project
exit_project 退出项目 project_id: int None
delete_project 删除项目 project_id: int None

任务列表相关接口

方法 描述 参数 返回值
get_column_list 获取任务列表 GetColumnListRequest ResponsePaginate[ProjectColumn]
create_column 创建任务列表 CreateColumnRequest ProjectColumn
update_column 更新任务列表 UpdateColumnRequest ProjectColumn
delete_column 删除任务列表 column_id: int None

任务相关接口

方法 描述 参数 返回值
get_task_list 获取任务列表 GetTaskListRequest ResponsePaginate[ProjectTask]
get_task 获取任务信息 GetTaskRequest ProjectTask
get_task_content 获取任务内容 GetTaskContentRequest TaskContent
get_task_files 获取任务文件列表 GetTaskFilesRequest List[TaskFile]
create_task 创建任务 CreateTaskRequest ProjectTask
create_sub_task 创建子任务 CreateSubTaskRequest ProjectTask
update_task 更新任务 UpdateTaskRequest ProjectTask
create_task_dialog 创建任务对话 CreateTaskDialogRequest CreateTaskDialogResponse
archive_task 归档任务 task_id: int, archive_type: str None
delete_task 删除任务 task_id: int, delete_type: str None

系统设置相关接口

方法 描述 参数 返回值
get_system_settings 获取系统设置 - SystemSettings
get_version 获取版本信息 - VersionInfo

主要数据类型

  • UserInfo - 用户信息
  • UserBasic - 用户基础信息
  • Department - 部门信息
  • DialogInfo - 对话信息
  • DialogMember - 对话成员
  • Project - 项目信息
  • ProjectColumn - 项目列表
  • ProjectTask - 项目任务
  • TaskFile - 任务文件
  • TaskContent - 任务内容
  • SystemSettings - 系统设置
  • VersionInfo - 版本信息

详细示例

from dootask import (
    DooTaskClient,
    CreateProjectRequest,
    CreateTaskRequest,
    DooTaskException
)

client = DooTaskClient(
    token="your_token",
    server="https://your-server.com"
)

try:
    # 创建项目
    project = client.create_project(CreateProjectRequest(
        name="我的项目",
        desc="项目描述"
    ))
    
    # 创建任务
    task = client.create_task(CreateTaskRequest(
        project_id=project.id,
        name="任务名称",
        content="任务内容",
        owner=[user.userid]
    ))
    
    print(f"项目创建成功: {project.name}")
    print(f"任务创建成功: {task.name}")
    
except DooTaskException as e:
    print(f"错误: {e}")

异常处理

所有方法都可能抛出异常,包含详细的错误信息:

from dootask import (
    DooTaskException,
    DooTaskAPIException,
    DooTaskHTTPException,
    DooTaskAuthException,
    DooTaskPermissionException
)

try:
    user = client.get_user_info()
except DooTaskAuthException:
    print("认证失败,请检查 token")
except DooTaskPermissionException:
    print("权限不足")
except DooTaskAPIException as e:
    print(f"API 错误: {e}")
except DooTaskHTTPException as e:
    print(f"网络错误: {e}")
except DooTaskException as e:
    print(f"其他错误: {e}")

许可证

MIT License

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

dootask_tools-0.0.2.tar.gz (13.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

dootask_tools-0.0.2-py3-none-any.whl (11.9 kB view details)

Uploaded Python 3

File details

Details for the file dootask_tools-0.0.2.tar.gz.

File metadata

  • Download URL: dootask_tools-0.0.2.tar.gz
  • Upload date:
  • Size: 13.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.5

File hashes

Hashes for dootask_tools-0.0.2.tar.gz
Algorithm Hash digest
SHA256 fc7fc54125e3cfb063279c2bc73e49c6acc1495ffca1e347dfb4ebe20eaeef4b
MD5 43424dfee5a5ad047310cbc5d66c204d
BLAKE2b-256 d49bef70b969b3c56fd7dae5b535f98ed00c2258ad402be7b2a05e512682aff6

See more details on using hashes here.

File details

Details for the file dootask_tools-0.0.2-py3-none-any.whl.

File metadata

  • Download URL: dootask_tools-0.0.2-py3-none-any.whl
  • Upload date:
  • Size: 11.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.5

File hashes

Hashes for dootask_tools-0.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 31cec4b65297b531031ff502128e6dc876028a56dc306cb08b653f3cc9a3f044
MD5 3a36f5692de014f436ea47d6d18918c0
BLAKE2b-256 b3d65ed18415e62a487a7e47d636ba0cb34bf6f598554566ec3c1bb6bb484677

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page