Commit df9a5f7c authored by Him188's avatar Him188

Fix incorrect new contact handling

parent b4140b78
...@@ -78,6 +78,7 @@ internal class QQAndroidBot constructor( ...@@ -78,6 +78,7 @@ internal class QQAndroidBot constructor(
configuration: BotConfiguration configuration: BotConfiguration
) : QQAndroidBotBase(context, account, configuration) { ) : QQAndroidBotBase(context, account, configuration) {
@OptIn(LowLevelAPI::class)
override suspend fun acceptNewFriendRequest(event: NewFriendRequestEvent) { override suspend fun acceptNewFriendRequest(event: NewFriendRequestEvent) {
check(event.responded.compareAndSet(expect = false, update = true)) { check(event.responded.compareAndSet(expect = false, update = true)) {
"the request $this has already been responded" "the request $this has already been responded"
...@@ -89,6 +90,10 @@ internal class QQAndroidBot constructor( ...@@ -89,6 +90,10 @@ internal class QQAndroidBot constructor(
event, event,
accept = true accept = true
).sendWithoutExpect() ).sendWithoutExpect()
bot.friends.delegate.addLast(bot._lowLevelNewQQ(object : FriendInfo {
override val uin: Long get() = event.fromId
override val nick: String get() = event.fromNick
}))
} }
} }
...@@ -119,7 +124,11 @@ internal class QQAndroidBot constructor( ...@@ -119,7 +124,11 @@ internal class QQAndroidBot constructor(
event, event,
accept = true accept = true
).sendWithoutExpect() ).sendWithoutExpect()
bot.friends.delegate.addLast(bot._lowLevelNewQQ(object : FriendInfo { event.group.members.delegate.addLast(event.group.newMember(object : MemberInfo {
override val nameCard: String get() = ""
override val permission: MemberPermission get() = MemberPermission.MEMBER
override val specialTitle: String get() = ""
override val muteTimestamp: Int get() = 0
override val uin: Long get() = event.fromId override val uin: Long get() = event.fromId
override val nick: String get() = event.fromNick override val nick: String get() = event.fromNick
})) }))
...@@ -138,14 +147,6 @@ internal class QQAndroidBot constructor( ...@@ -138,14 +147,6 @@ internal class QQAndroidBot constructor(
accept = false, accept = false,
blackList = blackList blackList = blackList
).sendWithoutExpect() ).sendWithoutExpect()
event.group.members.delegate.addLast(event.group.newMember(object : MemberInfo {
override val nameCard: String get() = ""
override val permission: MemberPermission get() = MemberPermission.MEMBER
override val specialTitle: String get() = ""
override val muteTimestamp: Int get() = 0
override val uin: Long get() = event.fromId
override val nick: String get() = event.fromNick
}))
} }
} }
......
...@@ -509,7 +509,7 @@ data class NewFriendRequestEvent( ...@@ -509,7 +509,7 @@ data class NewFriendRequestEvent(
/** /**
* 群名片或好友昵称 * 群名片或好友昵称
*/ */
val nick: String val fromNick: String
) : BotEvent, Packet { ) : BotEvent, Packet {
internal val responded: AtomicBoolean = atomic(false) internal val responded: AtomicBoolean = atomic(false)
......
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