2020-12-03 12:09:54 +08:00
|
|
|
|
---
|
|
|
|
|
contentSidebar: true
|
|
|
|
|
sidebarDepth: 0
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
# NoneBot.adapters.ding 模块
|
|
|
|
|
|
|
|
|
|
|
2020-12-03 17:08:16 +08:00
|
|
|
|
## _exception_ `DingAdapterException`
|
|
|
|
|
|
|
|
|
|
基类:[`nonebot.exception.AdapterException`](../exception.md#nonebot.exception.AdapterException)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
* **说明**
|
|
|
|
|
|
|
|
|
|
钉钉 Adapter 错误基类
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
## _exception_ `ActionFailed`
|
|
|
|
|
|
|
|
|
|
基类:[`nonebot.exception.ActionFailed`](../exception.md#nonebot.exception.ActionFailed), `nonebot.adapters.ding.exception.DingAdapterException`
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
* **说明**
|
|
|
|
|
|
|
|
|
|
API 请求返回错误信息。
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
* **参数**
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
* `errcode: Optional[int]`: 错误码
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
* `errmsg: Optional[str]`: 错误信息
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
## _exception_ `ApiNotAvailable`
|
|
|
|
|
|
|
|
|
|
基类:[`nonebot.exception.ApiNotAvailable`](../exception.md#nonebot.exception.ApiNotAvailable), `nonebot.adapters.ding.exception.DingAdapterException`
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
## _exception_ `NetworkError`
|
|
|
|
|
|
|
|
|
|
基类:[`nonebot.exception.NetworkError`](../exception.md#nonebot.exception.NetworkError), `nonebot.adapters.ding.exception.DingAdapterException`
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
* **说明**
|
|
|
|
|
|
|
|
|
|
网络错误。
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
* **参数**
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
* `retcode: Optional[int]`: 错误码
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
## _exception_ `SessionExpired`
|
|
|
|
|
|
|
|
|
|
基类:[`nonebot.exception.ApiNotAvailable`](../exception.md#nonebot.exception.ApiNotAvailable), `nonebot.adapters.ding.exception.DingAdapterException`
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
* **说明**
|
|
|
|
|
|
|
|
|
|
发消息的 session 已经过期。
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
## _class_ `Bot`
|
|
|
|
|
|
|
|
|
|
基类:[`nonebot.adapters.BaseBot`](README.md#nonebot.adapters.BaseBot)
|
|
|
|
|
|
|
|
|
|
钉钉 协议 Bot 适配。继承属性参考 [BaseBot](./#class-basebot) 。
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
### _property_ `type`
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
* 返回: `"ding"`
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
### _async classmethod_ `check_permission(driver, connection_type, headers, body)`
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
* **说明**
|
|
|
|
|
|
|
|
|
|
钉钉协议鉴权。参考 [鉴权](https://ding-doc.dingtalk.com/doc#/serverapi2/elzz1p)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
### _async_ `handle_message(body)`
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
* **说明**
|
|
|
|
|
|
|
|
|
|
处理上报消息的函数,转换为 `Event` 事件后调用 `nonebot.message.handle_event` 进一步处理事件。
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
* **参数**
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
* `message: dict`: 收到的上报消息
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
### _async_ `call_api(api, event=None, **data)`
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
* **说明**
|
|
|
|
|
|
|
|
|
|
调用 钉钉 协议 API
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
* **参数**
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
* `api: str`: API 名称
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
* `**data: Any`: API 参数
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
* **返回**
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
* `Any`: API 调用返回数据
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
* **异常**
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
* `NetworkError`: 网络错误
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
* `ActionFailed`: API 调用失败
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
### _async_ `send(event, message, at_sender=False, **kwargs)`
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
* **说明**
|
|
|
|
|
|
|
|
|
|
根据 `event` 向触发事件的主体发送消息。
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
* **参数**
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
* `event: Event`: Event 对象
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
* `message: Union[str, Message, MessageSegment]`: 要发送的消息
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
* `at_sender: bool`: 是否 @ 事件主体
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
* `**kwargs`: 覆盖默认参数
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
* **返回**
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
* `Any`: API 调用返回数据
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
* **异常**
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
* `ValueError`: 缺少 `user_id`, `group_id`
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
* `NetworkError`: 网络错误
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
* `ActionFailed`: API 调用失败
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
## _class_ `Event`
|
|
|
|
|
|
|
|
|
|
基类:[`nonebot.adapters.BaseEvent`](README.md#nonebot.adapters.BaseEvent)
|
|
|
|
|
|
|
|
|
|
钉钉 协议 Event 适配。继承属性参考 [BaseEvent](./#class-baseevent) 。
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
### _property_ `raw_event`
|
|
|
|
|
|
|
|
|
|
原始上报消息
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
### _property_ `id`
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
* 类型: `Optional[str]`
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
* 说明: 消息 ID
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
### _property_ `name`
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
* 类型: `str`
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
* 说明: 事件名称,由 type.\`detail_type\` 组合而成
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
### _property_ `self_id`
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
* 类型: `str`
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
* 说明: 机器人自身 ID
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
### _property_ `time`
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
* 类型: `int`
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
* 说明: 消息的时间戳,单位 s
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
### _property_ `type`
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
* 类型: `str`
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
* 说明: 事件类型
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
### _property_ `detail_type`
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
* 类型: `str`
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
* 说明: 事件详细类型
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
### _property_ `sub_type`
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
* 类型: `None`
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
* 说明: 钉钉适配器无事件子类型
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
### _property_ `user_id`
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
* 类型: `Optional[str]`
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
* 说明: 发送者 ID
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
### _property_ `group_id`
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
* 类型: `Optional[str]`
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
* 说明: 事件主体群 ID
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
### _property_ `to_me`
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
* 类型: `Optional[bool]`
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
* 说明: 消息是否与机器人相关
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
### _property_ `message`
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
* 类型: `Optional[Message]`
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
* 说明: 消息内容
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
### _property_ `reply`
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
* 类型: `None`
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
* 说明: 回复消息详情
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
### _property_ `raw_message`
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
* 类型: `Optional[str]`
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
* 说明: 原始消息
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
### _property_ `plain_text`
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
* 类型: `Optional[str]`
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
* 说明: 纯文本消息内容
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
### _property_ `sender`
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
* 类型: `Optional[dict]`
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
* 说明: 消息发送者信息
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
## _class_ `MessageSegment`
|
|
|
|
|
|
|
|
|
|
基类:[`nonebot.adapters.BaseMessageSegment`](README.md#nonebot.adapters.BaseMessageSegment)
|
|
|
|
|
|
|
|
|
|
钉钉 协议 MessageSegment 适配。具体方法参考协议消息段类型或源码。
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
### _static_ `actionCardSingleMultiBtns(title, text, btns=[], hideAvatar=False, btnOrientation='1')`
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
* **参数**
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
* `btnOrientation`: 0:按钮竖直排列 1:按钮横向排列
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
* `btns`: [{ "title": title, "actionURL": actionURL }, ...]
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
### _static_ `feedCard(links=[])`
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
* **参数**
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
* `links`: [{ "title": xxx, "messageURL": xxx, "picURL": xxx }, ...]
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
### _static_ `empty()`
|
|
|
|
|
|
|
|
|
|
不想回复消息到群里
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
## _class_ `Message`
|
|
|
|
|
|
|
|
|
|
基类:[`nonebot.adapters.BaseMessage`](README.md#nonebot.adapters.BaseMessage)
|
|
|
|
|
|
|
|
|
|
钉钉 协议 Message 适配。
|