mirror of
https://github.com/LLOneBot/LLOneBot.git
synced 2024-11-22 01:56:33 +00:00
fix: group member role change not sync group member list
This commit is contained in:
parent
15fe2837dc
commit
8417450c3c
@ -16,11 +16,11 @@ export const selfInfo: SelfInfo = {
|
|||||||
nick: '',
|
nick: '',
|
||||||
online: true
|
online: true
|
||||||
}
|
}
|
||||||
export const groups: Group[] = []
|
export let groups: Group[] = []
|
||||||
export const friends: Friend[] = []
|
export let friends: Friend[] = []
|
||||||
export const msgHistory: Record<string, RawMessage> = {} // msgId: RawMessage
|
export let msgHistory: Record<string, RawMessage> = {} // msgId: RawMessage
|
||||||
export const groupNotifies: Map<string, GroupNotify> = new Map<string, GroupNotify>()
|
export let groupNotifies: Map<string, GroupNotify> = new Map<string, GroupNotify>()
|
||||||
export const friendRequests: Map<number, FriendRequest> = new Map<number, FriendRequest>()
|
export let friendRequests: Map<number, FriendRequest> = new Map<number, FriendRequest>()
|
||||||
export const llonebotError: LLOneBotError = {
|
export const llonebotError: LLOneBotError = {
|
||||||
ffmpegError: '',
|
ffmpegError: '',
|
||||||
otherError: ''
|
otherError: ''
|
||||||
@ -47,20 +47,20 @@ export function getHistoryMsgByShortId(shortId: number | string) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
export async function getFriend(qq: string): Promise<Friend | undefined> {
|
export async function getFriend(qq: string): Promise<Friend | undefined> {
|
||||||
const friend = friends.find(friend => friend.uin === qq)
|
let friend = friends.find(friend => friend.uin === qq)
|
||||||
// if (!friend){
|
if (!friend){
|
||||||
// friends = (await NTQQApi.getFriends(true))
|
friends = (await NTQQApi.getFriends(true))
|
||||||
// friend = friends.find(friend => friend.uin === qq)
|
friend = friends.find(friend => friend.uin === qq)
|
||||||
// }
|
}
|
||||||
return friend
|
return friend
|
||||||
}
|
}
|
||||||
|
|
||||||
export async function getGroup(qq: string): Promise<Group | undefined> {
|
export async function getGroup(qq: string): Promise<Group | undefined> {
|
||||||
const group = groups.find(group => group.groupCode === qq)
|
let group = groups.find(group => group.groupCode === qq)
|
||||||
// if (!group){
|
if (!group){
|
||||||
// groups = await NTQQApi.getGroups(true);
|
groups = await NTQQApi.getGroups(true);
|
||||||
// group = groups.find(group => group.groupCode === qq)
|
group = groups.find(group => group.groupCode === qq)
|
||||||
// }
|
}
|
||||||
return group
|
return group
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -89,6 +89,13 @@ export async function getGroupMember(groupQQ: string | number, memberQQ: string
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export async function refreshGroupMembers(groupQQ: string) {
|
||||||
|
const group = groups.find(group => group.groupCode === groupQQ)
|
||||||
|
if (group) {
|
||||||
|
group.members = await NTQQApi.getGroupMembers(groupQQ)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
export function getHistoryMsgBySeq(seq: string) {
|
export function getHistoryMsgBySeq(seq: string) {
|
||||||
return Object.values(msgHistory).find(msg => msg.msgSeq === seq)
|
return Object.values(msgHistory).find(msg => msg.msgSeq === seq)
|
||||||
}
|
}
|
||||||
|
@ -19,7 +19,7 @@ import {
|
|||||||
getGroupMember,
|
getGroupMember,
|
||||||
groupNotifies,
|
groupNotifies,
|
||||||
llonebotError,
|
llonebotError,
|
||||||
msgHistory,
|
msgHistory, refreshGroupMembers,
|
||||||
selfInfo
|
selfInfo
|
||||||
} from "../common/data";
|
} from "../common/data";
|
||||||
import {hookNTQQApiCall, hookNTQQApiReceive, ReceiveCmd, registerReceiveHook} from "../ntqqapi/hook";
|
import {hookNTQQApiCall, hookNTQQApiReceive, ReceiveCmd, registerReceiveHook} from "../ntqqapi/hook";
|
||||||
@ -262,6 +262,7 @@ function onLoad() {
|
|||||||
log("收到群通知", notify);
|
log("收到群通知", notify);
|
||||||
groupNotifies[notify.seq] = notify;
|
groupNotifies[notify.seq] = notify;
|
||||||
const member1 = await getGroupMember(notify.group.groupCode, null, notify.user1.uid);
|
const member1 = await getGroupMember(notify.group.groupCode, null, notify.user1.uid);
|
||||||
|
refreshGroupMembers(notify.group.groupCode).then()
|
||||||
let member2: GroupMember;
|
let member2: GroupMember;
|
||||||
if (notify.user2.uid) {
|
if (notify.user2.uid) {
|
||||||
member2 = await getGroupMember(notify.group.groupCode, null, notify.user2.uid);
|
member2 = await getGroupMember(notify.group.groupCode, null, notify.user2.uid);
|
||||||
@ -312,6 +313,9 @@ function onLoad() {
|
|||||||
log("解析群通知失败", e.stack);
|
log("解析群通知失败", e.stack);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
else if (payload.doubt){
|
||||||
|
// 可能有群管理员变动
|
||||||
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
registerReceiveHook<FriendRequestNotify>(ReceiveCmd.FRIEND_REQUEST, async (payload) => {
|
registerReceiveHook<FriendRequestNotify>(ReceiveCmd.FRIEND_REQUEST, async (payload) => {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user