mirror of
https://github.com/whitechi73/OpenShamrock.git
synced 2024-08-14 05:12:17 +00:00
Compare commits
3 Commits
c97f79335a
...
b3d853dec3
Author | SHA1 | Date | |
---|---|---|---|
b3d853dec3 | |||
e0a4aad3cd | |||
328e656859 |
@ -335,7 +335,7 @@ internal object GroupSvc: BaseSvc() {
|
||||
sendOidb("OidbSvc.0x570_8", 1392, 8, array)
|
||||
}
|
||||
|
||||
fun kickMember(groupId: Long, rejectAddRequest: Boolean, vararg memberUin: Long) {
|
||||
fun kickMember(groupId: Long, rejectAddRequest: Boolean, kickMsg: String, vararg memberUin: Long) {
|
||||
val reqBody = oidb_0x8a0.ReqBody()
|
||||
reqBody.opt_uint64_group_code.set(groupId)
|
||||
|
||||
@ -346,6 +346,9 @@ internal object GroupSvc: BaseSvc() {
|
||||
memberInfo.opt_uint32_flag.set(if (rejectAddRequest) 1 else 0)
|
||||
reqBody.rpt_msg_kick_list.add(memberInfo)
|
||||
}
|
||||
if (kickMsg.isNotEmpty()) {
|
||||
reqBody.bytes_kick_msg.set(ByteStringMicro.copyFrom(kickMsg.toByteArray()))
|
||||
}
|
||||
|
||||
sendOidb("OidbSvc.0x8a0_0", 2208, 0, reqBody.toByteArray())
|
||||
}
|
||||
|
@ -123,7 +123,7 @@ internal sealed class MessageElemConverter: IMessageConvert {
|
||||
else -> unknownChatType(chatType)
|
||||
},
|
||||
"subType" to image.picSubType,
|
||||
"type" to if (image.isFlashPic) "flash" else "show"
|
||||
"type" to if (image.isFlashPic) "flash" else if(image.original) "original" else "show"
|
||||
)
|
||||
)
|
||||
}
|
||||
|
@ -12,13 +12,14 @@ internal object KickTroopMember: IActionHandler() {
|
||||
override suspend fun internalHandle(session: ActionSession): String {
|
||||
val groupId = session.getLong("group_id")
|
||||
val userId = session.getLong("user_id")
|
||||
val kickMsg = session.getStringOrNull("kick_msg") ?: ""
|
||||
val rejectAddRequest = session.getBooleanOrDefault("reject_add_request", false)
|
||||
|
||||
return invoke(groupId, userId, rejectAddRequest, session.echo)
|
||||
return invoke(groupId, userId, rejectAddRequest, kickMsg, session.echo)
|
||||
}
|
||||
|
||||
operator fun invoke(groupId: Long, userId: Long, rejectAddRequest: Boolean = false, echo: JsonElement = EmptyJsonString): String {
|
||||
GroupSvc.kickMember(groupId, rejectAddRequest, userId)
|
||||
operator fun invoke(groupId: Long, userId: Long, rejectAddRequest: Boolean = false, kickMsg: String, echo: JsonElement = EmptyJsonString): String {
|
||||
GroupSvc.kickMember(groupId, rejectAddRequest, kickMsg, userId)
|
||||
return ok("成功", echo)
|
||||
}
|
||||
|
||||
|
@ -96,7 +96,7 @@ internal object QuickOperation: IActionHandler() {
|
||||
MsgSvc.recallMsg(msgHash)
|
||||
}
|
||||
if (MsgConstant.KCHATTYPEGROUP == record.chatType && operation.containsKey("kick") && operation["kick"].asBoolean) {
|
||||
GroupSvc.kickMember(record.peerUin, false, record.senderUin)
|
||||
GroupSvc.kickMember(record.peerUin, false, "", record.senderUin)
|
||||
}
|
||||
if (MsgConstant.KCHATTYPEGROUP == record.chatType && operation.containsKey("ban") && operation["ban"].asBoolean) {
|
||||
val banTime = operation["ban_duration"].asIntOrNull ?: (30 * 60)
|
||||
|
@ -120,7 +120,12 @@ fun Routing.troopAction() {
|
||||
getOrPost("/set_group_kick") {
|
||||
val userId = fetchOrThrow("user_id").toLong()
|
||||
val groupId = fetchOrThrow("group_id").toLong()
|
||||
call.respondText(KickTroopMember(groupId, userId), ContentType.Application.Json)
|
||||
val kickMsg = fetchOrNull("kick_msg") ?: ""
|
||||
val rejectAddRequest = when(fetchGetOrNull("reject_add_request")) {
|
||||
"1", "true" -> true
|
||||
else -> false
|
||||
}
|
||||
call.respondText(KickTroopMember(groupId, userId, rejectAddRequest, kickMsg), ContentType.Application.Json)
|
||||
}
|
||||
|
||||
getOrPost("/set_essence_msg") {
|
||||
|
@ -113,7 +113,7 @@ internal object HttpService: HttpTransmitServlet() {
|
||||
MsgSvc.recallMsg(msgHash)
|
||||
}
|
||||
if (MsgConstant.KCHATTYPEGROUP == record.chatType && data.containsKey("kick") && data["kick"].asBoolean) {
|
||||
GroupSvc.kickMember(record.peerUin, false, record.senderUin)
|
||||
GroupSvc.kickMember(record.peerUin, false, "", record.senderUin)
|
||||
}
|
||||
if (MsgConstant.KCHATTYPEGROUP == record.chatType && data.containsKey("ban") && data["ban"].asBoolean) {
|
||||
val banTime = data["ban_duration"].asIntOrNull ?: (30 * 60)
|
||||
|
Reference in New Issue
Block a user