Model 模块

Model模块提供了钉钉机器人开发中常用的数据模型类。

基础类

Group

群组类,用于表示钉钉群组。

属性

  • id: 群组ID

  • name: 群组名称

  • openConversationId: 群组会话ID

  • webhook: 群组Webhook对象

  • member: 当前操作成员对象

  • traceId: 消息追踪ID

方法

  • __str__(): 返回群组ID

  • __int__(): 返回群组ID的整数形式

Member

成员类,用于表示钉钉用户。

属性

  • id: 用户ID

  • name: 用户名称

  • staffId: 员工ID

  • unionId: 用户唯一标识

  • mobile: 手机号码

  • avatar: 头像URL

  • group: 所属群组对象

  • traceId: 消息追踪ID

方法

  • __str__(): 返回用户ID

  • __int__(): 返回用户ID的整数形式

OpenConversationId

群组会话ID类。

属性

  • openConversationId: 会话ID

  • name: 会话名称

  • group_id: 群组ID

  • traceId: 消息追踪ID

方法

  • __str__(): 返回会话ID

  • __int__(): 返回会话ID的整数形式

Webhook

Webhook类,用于处理钉钉的Webhook回调。

属性

  • url: Webhook URL

  • expired_time: 过期时间

  • _type: Webhook类型

方法

  • __str__(): 返回Webhook URL

TraceId

消息追踪ID类。

属性

  • id: 追踪ID

方法

  • __str__(): 返回追踪ID

Bot

机器人类。

属性

  • id: 机器人ID

  • name: 机器人名称

  • origin_id: 原始ID

  • trace_id: 追踪ID

方法

  • __str__(): 返回机器人ID

使用示例

from dingraia.model import Group, Member, OpenConversationId

# 创建群组对象
group = Group()
group.id = "123456"
group.name = "测试群"

# 创建成员对象
member = Member()
member.id = "user123"
member.name = "张三"
member.staffId = "staff123"

# 设置关联关系
member.group = group
group.member = member

# 创建会话ID对象
conv_id = OpenConversationId("cid123456")
conv_id.name = "测试会话"

注意事项

  1. 模型对象通常由框架自动创建和填充,一般不需要手动创建

  2. 模型对象的属性可能不会全部填充,使用前需要判断

  3. 模型对象之间可以建立关联关系,但要注意避免循环引用

  4. 某些属性(如traceId)在异步操作中特别重要,需要正确传递