fix(channel): add wechatoa webhook delivery and proxy config (#356)

Unify webhook handling across channel adapters and add the WeChat Official Account channel so inbound routing and replies work without platform-specific handlers. Add adapter-scoped proxy support and stable config field ordering so restricted network environments can deliver WeChat and Telegram messages reliably.
This commit is contained in:
BBQ
2026-04-10 21:26:11 +08:00
committed by GitHub
parent 4d3f2de7e2
commit f376a2abe3
47 changed files with 2361 additions and 315 deletions
+32 -2
View File
@@ -9729,7 +9729,7 @@ const docTemplate = `{
"type": "string"
},
"channel_type": {
"type": "string"
"$ref": "#/definitions/channel.ChannelType"
},
"created_at": {
"type": "string"
@@ -9770,7 +9770,7 @@ const docTemplate = `{
"type": "string"
},
"channel_type": {
"type": "string"
"$ref": "#/definitions/channel.ChannelType"
},
"config": {
"type": "object",
@@ -9787,6 +9787,33 @@ const docTemplate = `{
}
}
},
"channel.ChannelType": {
"type": "string",
"enum": [
"telegram",
"feishu",
"dingtalk",
"matrix",
"discord",
"qq",
"wecom",
"weixin",
"wechatoa",
"local"
],
"x-enum-varnames": [
"ChannelTypeTelegram",
"ChannelTypeFeishu",
"ChannelTypeDingtalk",
"ChannelTypeMatrix",
"ChannelTypeDiscord",
"ChannelTypeQQ",
"ChannelTypeWecom",
"ChannelTypeWeixin",
"ChannelTypeWeChatOA",
"ChannelTypeLocal"
]
},
"channel.ConfigSchema": {
"type": "object",
"properties": {
@@ -9814,6 +9841,9 @@ const docTemplate = `{
}
},
"example": {},
"order": {
"type": "integer"
},
"required": {
"type": "boolean"
},
+32 -2
View File
@@ -9720,7 +9720,7 @@
"type": "string"
},
"channel_type": {
"type": "string"
"$ref": "#/definitions/channel.ChannelType"
},
"created_at": {
"type": "string"
@@ -9761,7 +9761,7 @@
"type": "string"
},
"channel_type": {
"type": "string"
"$ref": "#/definitions/channel.ChannelType"
},
"config": {
"type": "object",
@@ -9778,6 +9778,33 @@
}
}
},
"channel.ChannelType": {
"type": "string",
"enum": [
"telegram",
"feishu",
"dingtalk",
"matrix",
"discord",
"qq",
"wecom",
"weixin",
"wechatoa",
"local"
],
"x-enum-varnames": [
"ChannelTypeTelegram",
"ChannelTypeFeishu",
"ChannelTypeDingtalk",
"ChannelTypeMatrix",
"ChannelTypeDiscord",
"ChannelTypeQQ",
"ChannelTypeWecom",
"ChannelTypeWeixin",
"ChannelTypeWeChatOA",
"ChannelTypeLocal"
]
},
"channel.ConfigSchema": {
"type": "object",
"properties": {
@@ -9805,6 +9832,9 @@
}
},
"example": {},
"order": {
"type": "integer"
},
"required": {
"type": "boolean"
},
+28 -2
View File
@@ -721,7 +721,7 @@ definitions:
bot_id:
type: string
channel_type:
type: string
$ref: '#/definitions/channel.ChannelType'
created_at:
type: string
credentials:
@@ -749,7 +749,7 @@ definitions:
channel_identity_id:
type: string
channel_type:
type: string
$ref: '#/definitions/channel.ChannelType'
config:
additionalProperties: {}
type: object
@@ -760,6 +760,30 @@ definitions:
updated_at:
type: string
type: object
channel.ChannelType:
enum:
- telegram
- feishu
- dingtalk
- matrix
- discord
- qq
- wecom
- weixin
- wechatoa
- local
type: string
x-enum-varnames:
- ChannelTypeTelegram
- ChannelTypeFeishu
- ChannelTypeDingtalk
- ChannelTypeMatrix
- ChannelTypeDiscord
- ChannelTypeQQ
- ChannelTypeWecom
- ChannelTypeWeixin
- ChannelTypeWeChatOA
- ChannelTypeLocal
channel.ConfigSchema:
properties:
fields:
@@ -778,6 +802,8 @@ definitions:
type: string
type: array
example: {}
order:
type: integer
required:
type: boolean
title: