Commit cf82401e authored by ryoii's avatar ryoii

http-api support kick

parent 2687b55f
...@@ -28,14 +28,24 @@ fun Application.groupManageModule() { ...@@ -28,14 +28,24 @@ fun Application.groupManageModule() {
} }
miraiVerify<MuteDTO>("/mute") { miraiVerify<MuteDTO>("/mute") {
when(it.session.bot.getGroup(it.target)[it.memberId].mute(it.time)) { when (it.session.bot.getGroup(it.target)[it.memberId].mute(it.time)) {
true -> call.respondStateCode(StateCode.Success) true -> call.respondStateCode(StateCode.Success)
else -> throw PermissionDeniedException else -> throw PermissionDeniedException
} }
} }
miraiVerify<MuteDTO>("/unmute") { miraiVerify<MuteDTO>("/unmute") {
when(it.session.bot.getGroup(it.target).members[it.memberId].unmute()) { when (it.session.bot.getGroup(it.target).members[it.memberId].unmute()) {
true -> call.respondStateCode(StateCode.Success)
else -> throw PermissionDeniedException
}
}
/**
* 移出群聊(需要相关权限)
*/
miraiVerify<KickDTO>("/kick") {
when (it.session.bot.getGroup(it.target)[it.memberId].kick(it.msg)) {
true -> call.respondStateCode(StateCode.Success) true -> call.respondStateCode(StateCode.Success)
else -> throw PermissionDeniedException else -> throw PermissionDeniedException
} }
...@@ -55,7 +65,7 @@ fun Application.groupManageModule() { ...@@ -55,7 +65,7 @@ fun Application.groupManageModule() {
name?.let { group.name = it } name?.let { group.name = it }
announcement?.let { group.announcement = it } announcement?.let { group.announcement = it }
confessTalk?.let { group.confessTalk = it } confessTalk?.let { group.confessTalk = it }
allowMemberInvite?.let{ group.allowMemberInvite = it } allowMemberInvite?.let { group.allowMemberInvite = it }
// TODO: 待core接口实现设置可改 // TODO: 待core接口实现设置可改
// autoApprove?.let { group.autoApprove = it } // autoApprove?.let { group.autoApprove = it }
// anonymousChat?.let { group.anonymousChat = it } // anonymousChat?.let { group.anonymousChat = it }
...@@ -92,6 +102,14 @@ private data class MuteDTO( ...@@ -92,6 +102,14 @@ private data class MuteDTO(
val time: Int = 0 val time: Int = 0
) : VerifyDTO() ) : VerifyDTO()
@Serializable
private data class KickDTO(
override val sessionKey: String,
val target: Long,
val memberId: Long,
val msg: String = ""
) : VerifyDTO()
@Serializable @Serializable
private data class GroupConfigDTO( private data class GroupConfigDTO(
override val sessionKey: String, override val sessionKey: String,
...@@ -128,4 +146,4 @@ private data class MemberDetailDTO( ...@@ -128,4 +146,4 @@ private data class MemberDetailDTO(
val specialTitle: String? = null val specialTitle: String? = null
) : DTO { ) : DTO {
constructor(member: Member) : this(member.groupCard, member.specialTitle) constructor(member: Member) : this(member.groupCard, member.specialTitle)
} }
\ No newline at end of file
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