From 60d03a9869106d5b5d74cec71eb8d9f07090d352 Mon Sep 17 00:00:00 2001 From: uebian <2452973529@qq.com> Date: Tue, 4 Feb 2020 11:13:02 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A4=84=E7=90=86=E7=A6=81=E8=A8=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../net/mamoe/mirai/qqandroid/ContactImpl.kt | 26 ++++++++++++++++++- 1 file changed, 25 insertions(+), 1 deletion(-) diff --git a/mirai-core-qqandroid/src/commonMain/kotlin/net/mamoe/mirai/qqandroid/ContactImpl.kt b/mirai-core-qqandroid/src/commonMain/kotlin/net/mamoe/mirai/qqandroid/ContactImpl.kt index c6e736ac6..73bc19349 100644 --- a/mirai-core-qqandroid/src/commonMain/kotlin/net/mamoe/mirai/qqandroid/ContactImpl.kt +++ b/mirai-core-qqandroid/src/commonMain/kotlin/net/mamoe/mirai/qqandroid/ContactImpl.kt @@ -11,6 +11,7 @@ import net.mamoe.mirai.message.data.NotOnlineImageFromFile import net.mamoe.mirai.qqandroid.io.serialization.readProtoBuf import net.mamoe.mirai.qqandroid.network.highway.Highway import net.mamoe.mirai.qqandroid.network.protocol.data.proto.CSDataHighwayHead +import net.mamoe.mirai.qqandroid.network.protocol.packet.chat.TroopManagement import net.mamoe.mirai.qqandroid.network.protocol.packet.chat.image.ImgStore import net.mamoe.mirai.qqandroid.network.protocol.packet.chat.receive.MessageSvc import net.mamoe.mirai.qqandroid.network.protocol.packet.withUse @@ -72,9 +73,32 @@ internal class MemberImpl( override val group: GroupImpl by group.unsafeWeakRef() val qq: QQImpl by qq.unsafeWeakRef() + override val bot: QQAndroidBot by bot.unsafeWeakRef() + override suspend fun mute(durationSeconds: Int): Boolean { - TODO("not implemented") + if(bot.uin==this@MemberImpl.qq.id)//不能自己禁言自己 + { + return false + } + //判断有无禁言权限 + var myPermission = group.get(bot.uin).permission + if (myPermission == MemberPermission.ADMINISTRATOR || myPermission == MemberPermission.OWNER) { + if (myPermission == MemberPermission.OWNER || (myPermission == MemberPermission.ADMINISTRATOR && permission == MemberPermission.MEMBER)) { + bot.network.run { + val response = TroopManagement.Mute( + client = bot.client, + member = this@MemberImpl, + timeInSecond = durationSeconds + ).sendAndExpect() + } + return true + }else{ + return false + } + } else { + return false + } } override suspend fun unmute() {