Commit 85ea4563 authored by Him188's avatar Him188

Merge remote-tracking branch 'origin/master'

parents dc02278c e951ea43
...@@ -96,16 +96,17 @@ fun main() { ...@@ -96,16 +96,17 @@ fun main() {
} }
``` ```
| 状态码 | 原因 | | 状态码 | 原因 |
| ------ | ----------------------------------- | | ------ | ---------------------------------------- |
| 0 | 正常 | | 0 | 正常 |
| 1 | 错误的auth key | | 1 | 错误的auth key |
| 2 | 指定的Bot不存在 | | 2 | 指定的Bot不存在(常发生在Session认证时) |
| 3 | Session失效或不存在 | | 3 | Session失效或不存在 |
| 4 | Session未认证(未激活) | | 4 | Session未认证(未激活) |
| 5 | 发送消息目标不存在(指定对象不存在) | | 5 | 发送消息目标不存在(指定对象不存在) |
| 10 | 无操作权限,指Bot没有对应操作的限权 | | 10 | 无操作权限,指Bot没有对应操作的限权 |
| 400 | 错误的访问,如参数错误等 | | 20 | Bot被禁言,指Bot当前无法向指定群发送消息 |
| 400 | 错误的访问,如参数错误等 |
...@@ -904,7 +905,7 @@ Content-Type:multipart/form-data ...@@ -904,7 +905,7 @@ Content-Type:multipart/form-data
使用此方法获取群员资料 使用此方法获取群员资料
``` ```
[Get] /groupConfig?sessionKey=YourSessionKey&target=123456789 [Get] /memberInfo?sessionKey=YourSessionKey&target=123456789
``` ```
#### 请求: #### 请求:
......
...@@ -20,6 +20,7 @@ open class StateCode(val code: Int, var msg: String) : DTO { ...@@ -20,6 +20,7 @@ open class StateCode(val code: Int, var msg: String) : DTO {
object NotVerifySession : StateCode(4, "Session未认证") object NotVerifySession : StateCode(4, "Session未认证")
object NoElement : StateCode(5, "指定对象不存在") object NoElement : StateCode(5, "指定对象不存在")
object PermissionDenied : StateCode(10, "无操作权限") object PermissionDenied : StateCode(10, "无操作权限")
object BotMuted : StateCode(20, "Bot被禁言")
// KS bug: 主构造器中不能有非字段参数 https://github.com/Kotlin/kotlinx.serialization/issues/575 // KS bug: 主构造器中不能有非字段参数 https://github.com/Kotlin/kotlinx.serialization/issues/575
@Serializable @Serializable
......
...@@ -126,17 +126,19 @@ internal inline fun <reified T : VerifyDTO> Route.miraiVerify( ...@@ -126,17 +126,19 @@ internal inline fun <reified T : VerifyDTO> Route.miraiVerify(
internal inline fun Route.intercept(crossinline blk: suspend PipelineContext<Unit, ApplicationCall>.() -> Unit) = handle { internal inline fun Route.intercept(crossinline blk: suspend PipelineContext<Unit, ApplicationCall>.() -> Unit) = handle {
try { try {
blk(this) blk(this)
} catch (e: IllegalSessionException) { } catch (e: NoSuchBotException) { // Bot不存在
call.respondStateCode(StateCode.NoBot)
} catch (e: IllegalSessionException) { // Session过期
call.respondStateCode(StateCode.IllegalSession) call.respondStateCode(StateCode.IllegalSession)
} catch (e: NotVerifiedSessionException) { } catch (e: NotVerifiedSessionException) { // Session未认证
call.respondStateCode(StateCode.NotVerifySession) call.respondStateCode(StateCode.NotVerifySession)
} catch (e: NoSuchBotException) { } catch (e: NoSuchElementException) { // 指定对象不存在
call.respondStateCode(StateCode.NoBot)
} catch (e: NoSuchElementException) {
call.respondStateCode(StateCode.NoElement) call.respondStateCode(StateCode.NoElement)
} catch (e: PermissionDeniedException) { } catch (e: PermissionDeniedException) { // 缺少权限
call.respondStateCode(StateCode.PermissionDenied) call.respondStateCode(StateCode.PermissionDenied)
} catch (e: IllegalAccessException) { } catch (e: IllegalStateException) { // Bot被禁言
call.respondStateCode(StateCode.BotMuted)
} catch (e: IllegalAccessException) { // 错误访问
call.respondStateCode(StateCode(400, e.message), HttpStatusCode.BadRequest) call.respondStateCode(StateCode(400, e.message), HttpStatusCode.BadRequest)
} catch (e: Throwable) { } catch (e: Throwable) {
e.printStackTrace() e.printStackTrace()
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment