Commit 68d86a92 authored by Him188's avatar Him188

Introduce _ vars

parent ca43cf68
...@@ -20,7 +20,6 @@ import net.mamoe.mirai.qqandroid.utils.toIpV4AddressString ...@@ -20,7 +20,6 @@ import net.mamoe.mirai.qqandroid.utils.toIpV4AddressString
import net.mamoe.mirai.utils.* import net.mamoe.mirai.utils.*
import net.mamoe.mirai.utils.io.toUHexString import net.mamoe.mirai.utils.io.toUHexString
import kotlin.coroutines.CoroutineContext import kotlin.coroutines.CoroutineContext
import kotlin.properties.Delegates
internal abstract class ContactImpl : Contact { internal abstract class ContactImpl : Contact {
override fun hashCode(): Int { override fun hashCode(): Int {
...@@ -51,6 +50,7 @@ internal class QQImpl(bot: QQAndroidBot, override val coroutineContext: Coroutin ...@@ -51,6 +50,7 @@ internal class QQImpl(bot: QQAndroidBot, override val coroutineContext: Coroutin
) { "send message failed" } ) { "send message failed" }
} }
} }
override suspend fun uploadImage(image: ExternalImage): Image = try { override suspend fun uploadImage(image: ExternalImage): Image = try {
bot.network.run { bot.network.run {
val response = LongConn.OffPicUp( val response = LongConn.OffPicUp(
...@@ -129,8 +129,8 @@ internal class QQImpl(bot: QQAndroidBot, override val coroutineContext: Coroutin ...@@ -129,8 +129,8 @@ internal class QQImpl(bot: QQAndroidBot, override val coroutineContext: Coroutin
internal class MemberImpl( internal class MemberImpl(
qq: QQImpl, qq: QQImpl,
initGroupCard: String, var _groupCard: String,
initSpecialTitle: String, var _specialTitle: String,
group: GroupImpl, group: GroupImpl,
override val coroutineContext: CoroutineContext, override val coroutineContext: CoroutineContext,
override val permission: MemberPermission override val permission: MemberPermission
...@@ -138,32 +138,36 @@ internal class MemberImpl( ...@@ -138,32 +138,36 @@ internal class MemberImpl(
override val group: GroupImpl by group.unsafeWeakRef() override val group: GroupImpl by group.unsafeWeakRef()
val qq: QQImpl by qq.unsafeWeakRef() val qq: QQImpl by qq.unsafeWeakRef()
override var groupCard: String
override var groupCard: String by Delegates.observable(initGroupCard) { _, old, new -> get() = _groupCard
set(newValue) {
group.checkBotPermissionOperator() group.checkBotPermissionOperator()
if (new != old) { if (_groupCard != newValue) {
_groupCard = newValue
launch { launch {
bot.network.run { bot.network.run {
TroopManagement.EditGroupNametag( TroopManagement.EditGroupNametag(
bot.client, bot.client,
this@MemberImpl, this@MemberImpl,
new newValue
).sendWithoutExpect() ).sendWithoutExpect()
} }
} }
} }
} }
override var specialTitle: String by Delegates.observable(initSpecialTitle) { _, old, new -> override var specialTitle: String
get() = _specialTitle
set(newValue) {
group.checkBotPermissionOperator() group.checkBotPermissionOperator()
if (new != old) { if (_specialTitle != newValue) {
_specialTitle = newValue
launch { launch {
bot.network.run { bot.network.run {
TroopManagement.EditSpecialTitle( TroopManagement.EditSpecialTitle(
bot.client, bot.client,
this@MemberImpl, this@MemberImpl,
new newValue
).sendWithoutExpect() ).sendWithoutExpect()
} }
} }
...@@ -233,19 +237,22 @@ internal class GroupImpl( ...@@ -233,19 +237,22 @@ internal class GroupImpl(
bot: QQAndroidBot, override val coroutineContext: CoroutineContext, bot: QQAndroidBot, override val coroutineContext: CoroutineContext,
override val id: Long, override val id: Long,
val uin: Long, val uin: Long,
initName: String, var _name: String,
initAnnouncement: String, var _announcement: String,
initAllowMemberInvite: Boolean, var _allowMemberInvite: Boolean,
initConfessTalk: Boolean, var _confessTalk: Boolean,
initMuteAll: Boolean, var _muteAll: Boolean,
initAutoApprove: Boolean, var _autoApprove: Boolean,
initAnonymousChat: Boolean, var _anonymousChat: Boolean,
override val members: ContactList<Member> override val members: ContactList<Member>
) : ContactImpl(), Group { ) : ContactImpl(), Group {
override var name by Delegates.observable(initName) { _, oldValue, newValue -> override var name: String
get() = _name
set(newValue) {
this.checkBotPermissionOperator() this.checkBotPermissionOperator()
if (oldValue != newValue) { if (_name != newValue) {
_name = newValue
launch { launch {
bot.network.run { bot.network.run {
TroopManagement.GroupOperation.name( TroopManagement.GroupOperation.name(
...@@ -258,9 +265,12 @@ internal class GroupImpl( ...@@ -258,9 +265,12 @@ internal class GroupImpl(
} }
} }
override var announcement: String by Delegates.observable(initAnnouncement) { _, oldValue, newValue -> override var announcement: String
get() = _announcement
set(newValue) {
this.checkBotPermissionOperator() this.checkBotPermissionOperator()
if (oldValue != newValue) { if (_announcement != newValue) {
_announcement = newValue
launch { launch {
bot.network.run { bot.network.run {
TroopManagement.GroupOperation.memo( TroopManagement.GroupOperation.memo(
...@@ -274,9 +284,12 @@ internal class GroupImpl( ...@@ -274,9 +284,12 @@ internal class GroupImpl(
} }
override var allowMemberInvite: Boolean by Delegates.observable(initAllowMemberInvite) { _, oldValue, newValue -> override var allowMemberInvite: Boolean
get() = _allowMemberInvite
set(newValue) {
this.checkBotPermissionOperator() this.checkBotPermissionOperator()
if (oldValue != newValue) { if (_allowMemberInvite != newValue) {
_allowMemberInvite = newValue
launch { launch {
bot.network.run { bot.network.run {
TroopManagement.GroupOperation.allowMemberInvite( TroopManagement.GroupOperation.allowMemberInvite(
...@@ -289,17 +302,24 @@ internal class GroupImpl( ...@@ -289,17 +302,24 @@ internal class GroupImpl(
} }
} }
override var autoApprove: Boolean by Delegates.observable(initAutoApprove) { _, oldValue, newValue -> override var autoApprove: Boolean
TODO("Group.autoApprove implementation") get() = _autoApprove
set(newValue) {
TODO()
} }
override val anonymousChat: Boolean by Delegates.observable(initAnonymousChat) { _, oldValue, newValue -> override var anonymousChat: Boolean
TODO("Group.anonymousChat implementation") get() = _anonymousChat
set(newValue) {
TODO()
} }
override var confessTalk: Boolean by Delegates.observable(initConfessTalk) { _, oldValue, newValue -> override var confessTalk: Boolean
get() = _confessTalk
set(newValue) {
this.checkBotPermissionOperator() this.checkBotPermissionOperator()
if (oldValue != newValue) { if (_confessTalk != newValue) {
_confessTalk = newValue
launch { launch {
bot.network.run { bot.network.run {
TroopManagement.GroupOperation.confessTalk( TroopManagement.GroupOperation.confessTalk(
...@@ -313,9 +333,12 @@ internal class GroupImpl( ...@@ -313,9 +333,12 @@ internal class GroupImpl(
} }
override var muteAll: Boolean by Delegates.observable(initMuteAll) { _, oldValue, newValue -> override var muteAll: Boolean
get() = _muteAll
set(newValue) {
this.checkBotPermissionOperator() this.checkBotPermissionOperator()
if (oldValue != newValue) { if (_muteAll != newValue) {
_muteAll = newValue
launch { launch {
bot.network.run { bot.network.run {
TroopManagement.GroupOperation.muteAll( TroopManagement.GroupOperation.muteAll(
......
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