95 lines
3.0 KiB
Python
95 lines
3.0 KiB
Python
from typing import Literal
|
||
|
||
from service.wecom.schemas.base import BaseSchema
|
||
|
||
|
||
class MessageParams(BaseSchema):
|
||
"""
|
||
发送消息参数
|
||
各类消息的参数详情 https://developer.work.weixin.qq.com/document/path/90236
|
||
|
||
根据msgtype的不同,选择对应的消息内容填充即可
|
||
|
||
@param touser: 指定接收消息的成员,成员ID列表(多个接收者用‘|’分隔,最多支持1000个)。
|
||
@param toparty: 指定接收消息的部门,部门ID列表,多个接收者用‘|’分隔,最多支持100个。
|
||
@param totag: 指定接收消息的标签,标签ID列表,多个接收者用‘|’分隔,最多支持100个。
|
||
@param msgtype: 消息类型,此时固定为:text
|
||
@param agentid: 企业应用的id,整型。企业内部开发,可在应用的设置页面查看;第三方服务商,可通过接口 获取企业授权信息 获取该参数值
|
||
|
||
@param safe: 表示是否是保密消息,0表示可对外分享,1表示不能分享且内容显示水印,默认为0
|
||
@param enable_id_trans: 表示是否开启id转译,0表示否,1表示是,默认0。仅第三方应用需要用到,企业自建应用可以忽略。
|
||
@param enable_duplicate_check: 表示是否开启重复消息检查,0表示否,1表示是,默认0
|
||
@param duplicate_check_interval: 表示是否重复消息检查的时间间隔,默认1800s,最大不超过4小时
|
||
|
||
touser、toparty、totag不能同时为空,后面不再强调
|
||
"""
|
||
|
||
touser: str | None = None
|
||
toparty: str | None = None
|
||
totag: str | None = None
|
||
msgtype: Literal[
|
||
"text", "image", "voice", "video", "textcard", "news", "mpnews", "markdown"
|
||
]
|
||
agentid: int
|
||
|
||
# 各种类型的消息内容
|
||
text: dict | None = None
|
||
voice: dict | None = None
|
||
video: dict | None = None
|
||
file: dict | None = None
|
||
textcard: dict | None = None
|
||
news: dict | None = None
|
||
mpnews: dict | None = None
|
||
markdown: dict | None = None
|
||
|
||
safe: int = 0
|
||
enable_id_trans: int = 0
|
||
enable_duplicate_check: int = 0
|
||
duplicate_check_interval: int = 1800
|
||
|
||
|
||
class SendMessageInfo(BaseSchema):
|
||
"""
|
||
发送消息响应数据
|
||
|
||
"""
|
||
|
||
errcode: int
|
||
errmsg: str
|
||
invaliduser: str | None = None
|
||
invalidparty: str | None = None
|
||
invalidtag: str | None = None
|
||
unlicenseduser: str | None = None
|
||
msgid: str | None = None
|
||
response_code: str | None = None
|
||
|
||
|
||
class SendMessageInvalid(BaseSchema):
|
||
"""
|
||
发送消息失败响应数据
|
||
|
||
"""
|
||
|
||
errmsg: str
|
||
invaliduser: str | None = None
|
||
invalidparty: str | None = None
|
||
invalidtag: str | None = None
|
||
unlicenseduser: str | None = None
|
||
|
||
|
||
class RecallMessageParams(BaseSchema):
|
||
"""
|
||
撤回消息请求参数
|
||
"""
|
||
|
||
msgid: str
|
||
|
||
|
||
class RecallMessageInfo(BaseSchema):
|
||
"""
|
||
撤回消息响应数据
|
||
"""
|
||
|
||
errcode: int
|
||
errmsg: str
|