mirror of
https://github.com/LLOneBot/LLOneBot.git
synced 2024-11-22 01:56:33 +00:00
chore: remove unused methods
This commit is contained in:
@@ -24,7 +24,6 @@ import { fileTypeFromFile } from 'file-type'
|
|||||||
import fsPromise from 'node:fs/promises'
|
import fsPromise from 'node:fs/promises'
|
||||||
import { NTEventDispatch } from '@/common/utils/EventTask'
|
import { NTEventDispatch } from '@/common/utils/EventTask'
|
||||||
import { OnRichMediaDownloadCompleteParams } from '@/ntqqapi/listeners'
|
import { OnRichMediaDownloadCompleteParams } from '@/ntqqapi/listeners'
|
||||||
import { NodeIKernelSearchService } from '@/ntqqapi/services'
|
|
||||||
import { Time } from 'cosmokit'
|
import { Time } from 'cosmokit'
|
||||||
|
|
||||||
export class NTQQFileApi {
|
export class NTQQFileApi {
|
||||||
@@ -41,27 +40,6 @@ export class NTQQFileApi {
|
|||||||
return fileTypeFromFile(filePath)
|
return fileTypeFromFile(filePath)
|
||||||
}
|
}
|
||||||
|
|
||||||
static async copyFile(filePath: string, destPath: string) {
|
|
||||||
return await callNTQQApi<string>({
|
|
||||||
className: NTQQApiClass.FS_API,
|
|
||||||
methodName: NTQQApiMethod.FILE_COPY,
|
|
||||||
args: [
|
|
||||||
{
|
|
||||||
fromPath: filePath,
|
|
||||||
toPath: destPath,
|
|
||||||
},
|
|
||||||
],
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
static async getFileSize(filePath: string) {
|
|
||||||
return await callNTQQApi<number>({
|
|
||||||
className: NTQQApiClass.FS_API,
|
|
||||||
methodName: NTQQApiMethod.FILE_SIZE,
|
|
||||||
args: [filePath],
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
// 上传文件到QQ的文件夹
|
// 上传文件到QQ的文件夹
|
||||||
static async uploadFile(filePath: string, elementType: ElementType = ElementType.PIC, elementSubType = 0) {
|
static async uploadFile(filePath: string, elementType: ElementType = ElementType.PIC, elementSubType = 0) {
|
||||||
const fileMd5 = await calculateFileMD5(filePath)
|
const fileMd5 = await calculateFileMD5(filePath)
|
||||||
@@ -204,122 +182,6 @@ export class NTQQFileApi {
|
|||||||
log('图片url获取失败', element)
|
log('图片url获取失败', element)
|
||||||
return ''
|
return ''
|
||||||
}
|
}
|
||||||
|
|
||||||
// forked from https://github.com/NapNeko/NapCatQQ/blob/6f6b258f22d7563f15d84e7172c4d4cbb547f47e/src/core/src/apis/file.ts#L149
|
|
||||||
static async addFileCache(peer: Peer, msgId: string, msgSeq: string, senderUid: string, elemId: string, elemType: string, fileSize: string, fileName: string) {
|
|
||||||
let GroupData: any[] | undefined
|
|
||||||
let BuddyData: any[] | undefined
|
|
||||||
if (peer.chatType === ChatType.group) {
|
|
||||||
GroupData =
|
|
||||||
[{
|
|
||||||
groupCode: peer.peerUid,
|
|
||||||
isConf: false,
|
|
||||||
hasModifyConfGroupFace: true,
|
|
||||||
hasModifyConfGroupName: true,
|
|
||||||
groupName: 'LLOneBot.Cached',
|
|
||||||
remark: 'LLOneBot.Cached',
|
|
||||||
}];
|
|
||||||
} else if (peer.chatType === ChatType.friend) {
|
|
||||||
BuddyData = [{
|
|
||||||
category_name: 'LLOneBot.Cached',
|
|
||||||
peerUid: peer.peerUid,
|
|
||||||
peerUin: peer.peerUid,
|
|
||||||
remark: 'LLOneBot.Cached',
|
|
||||||
}]
|
|
||||||
} else {
|
|
||||||
return undefined
|
|
||||||
}
|
|
||||||
|
|
||||||
const session = getSession()
|
|
||||||
return session?.getSearchService().addSearchHistory({
|
|
||||||
type: 4,
|
|
||||||
contactList: [],
|
|
||||||
id: -1,
|
|
||||||
groupInfos: [],
|
|
||||||
msgs: [],
|
|
||||||
fileInfos: [
|
|
||||||
{
|
|
||||||
chatType: peer.chatType,
|
|
||||||
buddyChatInfo: BuddyData || [],
|
|
||||||
discussChatInfo: [],
|
|
||||||
groupChatInfo: GroupData || [],
|
|
||||||
dataLineChatInfo: [],
|
|
||||||
tmpChatInfo: [],
|
|
||||||
msgId: msgId,
|
|
||||||
msgSeq: msgSeq,
|
|
||||||
msgTime: Math.floor(Date.now() / 1000).toString(),
|
|
||||||
senderUid: senderUid,
|
|
||||||
senderNick: 'LLOneBot.Cached',
|
|
||||||
senderRemark: 'LLOneBot.Cached',
|
|
||||||
senderCard: 'LLOneBot.Cached',
|
|
||||||
elemId: elemId,
|
|
||||||
elemType: elemType,
|
|
||||||
fileSize: fileSize,
|
|
||||||
filePath: '',
|
|
||||||
fileName: fileName,
|
|
||||||
hits: [{
|
|
||||||
start: 12,
|
|
||||||
end: 14,
|
|
||||||
}],
|
|
||||||
},
|
|
||||||
],
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
static async searchfile(keys: string[]) {
|
|
||||||
type EventType = NodeIKernelSearchService['searchFileWithKeywords']
|
|
||||||
|
|
||||||
interface OnListener {
|
|
||||||
searchId: string,
|
|
||||||
hasMore: boolean,
|
|
||||||
resultItems: {
|
|
||||||
chatType: ChatType,
|
|
||||||
buddyChatInfo: any[],
|
|
||||||
discussChatInfo: any[],
|
|
||||||
groupChatInfo:
|
|
||||||
{
|
|
||||||
groupCode: string,
|
|
||||||
isConf: boolean,
|
|
||||||
hasModifyConfGroupFace: boolean,
|
|
||||||
hasModifyConfGroupName: boolean,
|
|
||||||
groupName: string,
|
|
||||||
remark: string
|
|
||||||
}[],
|
|
||||||
dataLineChatInfo: any[],
|
|
||||||
tmpChatInfo: any[],
|
|
||||||
msgId: string,
|
|
||||||
msgSeq: string,
|
|
||||||
msgTime: string,
|
|
||||||
senderUid: string,
|
|
||||||
senderNick: string,
|
|
||||||
senderRemark: string,
|
|
||||||
senderCard: string,
|
|
||||||
elemId: string,
|
|
||||||
elemType: number,
|
|
||||||
fileSize: string,
|
|
||||||
filePath: string,
|
|
||||||
fileName: string,
|
|
||||||
hits:
|
|
||||||
{
|
|
||||||
start: number,
|
|
||||||
end: number
|
|
||||||
}[]
|
|
||||||
}[]
|
|
||||||
}
|
|
||||||
|
|
||||||
const Event = NTEventDispatch.createEventFunction<EventType>('NodeIKernelSearchService/searchFileWithKeywords')
|
|
||||||
let id = ''
|
|
||||||
const Listener = NTEventDispatch.RegisterListen<(params: OnListener) => void>
|
|
||||||
(
|
|
||||||
'NodeIKernelSearchListener/onSearchFileKeywordsResult',
|
|
||||||
1,
|
|
||||||
20000,
|
|
||||||
(params) => id !== '' && params.searchId == id,
|
|
||||||
)
|
|
||||||
id = await Event!(keys, 12)
|
|
||||||
const [ret] = await Listener
|
|
||||||
return ret
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
export class NTQQFileCacheApi {
|
export class NTQQFileCacheApi {
|
||||||
|
@@ -1,10 +1,9 @@
|
|||||||
import { Friend, FriendV2 } from '../types'
|
import { Friend, FriendV2 } from '../types'
|
||||||
import { ReceiveCmdS } from '../hook'
|
import { ReceiveCmdS } from '../hook'
|
||||||
import { callNTQQApi, GeneralCallResult, NTQQApiMethod } from '../ntcall'
|
import { callNTQQApi, NTQQApiMethod } from '../ntcall'
|
||||||
import { getSession } from '@/ntqqapi/wrapper'
|
import { getSession } from '@/ntqqapi/wrapper'
|
||||||
import { BuddyListReqType, NodeIKernelProfileService } from '../services'
|
import { BuddyListReqType, NodeIKernelProfileService } from '../services'
|
||||||
import { NTEventDispatch } from '@/common/utils/EventTask'
|
import { NTEventDispatch } from '@/common/utils/EventTask'
|
||||||
import { CacheClassFuncAsyncExtend } from '@/common/utils/helper'
|
|
||||||
import { LimitedHashTable } from '@/common/utils/table'
|
import { LimitedHashTable } from '@/common/utils/table'
|
||||||
|
|
||||||
export class NTQQFriendApi {
|
export class NTQQFriendApi {
|
||||||
@@ -31,23 +30,6 @@ export class NTQQFriendApi {
|
|||||||
return _friends
|
return _friends
|
||||||
}
|
}
|
||||||
|
|
||||||
static async likeFriend(uid: string, count = 1) {
|
|
||||||
return await callNTQQApi<GeneralCallResult>({
|
|
||||||
methodName: NTQQApiMethod.LIKE_FRIEND,
|
|
||||||
args: [
|
|
||||||
{
|
|
||||||
doLikeUserInfo: {
|
|
||||||
friendUid: uid,
|
|
||||||
sourceId: 71,
|
|
||||||
doLikeCount: count,
|
|
||||||
doLikeTollCount: 0,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
null,
|
|
||||||
],
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
static async handleFriendRequest(flag: string, accept: boolean) {
|
static async handleFriendRequest(flag: string, accept: boolean) {
|
||||||
const data = flag.split('|')
|
const data = flag.split('|')
|
||||||
if (data.length < 2) {
|
if (data.length < 2) {
|
||||||
@@ -75,11 +57,6 @@ export class NTQQFriendApi {
|
|||||||
return Array.from(data.values())
|
return Array.from(data.values())
|
||||||
}
|
}
|
||||||
|
|
||||||
@CacheClassFuncAsyncExtend(3600 * 1000, 'getBuddyIdMap', () => true)
|
|
||||||
static async getBuddyIdMapCache(refresh = false): Promise<LimitedHashTable<string, string>> {
|
|
||||||
return await NTQQFriendApi.getBuddyIdMap(refresh)
|
|
||||||
}
|
|
||||||
|
|
||||||
static async getBuddyIdMap(refresh = false): Promise<LimitedHashTable<string, string>> {
|
static async getBuddyIdMap(refresh = false): Promise<LimitedHashTable<string, string>> {
|
||||||
const uids: string[] = []
|
const uids: string[] = []
|
||||||
const retMap: LimitedHashTable<string, string> = new LimitedHashTable<string, string>(5000)
|
const retMap: LimitedHashTable<string, string> = new LimitedHashTable<string, string>(5000)
|
||||||
|
@@ -8,35 +8,6 @@ import { NodeIKernelGroupListener } from '../listeners'
|
|||||||
import { NodeIKernelGroupService } from '../services'
|
import { NodeIKernelGroupService } from '../services'
|
||||||
|
|
||||||
export class NTQQGroupApi {
|
export class NTQQGroupApi {
|
||||||
static async activateMemberListChange() {
|
|
||||||
return await callNTQQApi<GeneralCallResult>({
|
|
||||||
methodName: NTQQApiMethod.ACTIVATE_MEMBER_LIST_CHANGE,
|
|
||||||
classNameIsRegister: true,
|
|
||||||
args: [],
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
static async activateMemberInfoChange() {
|
|
||||||
return await callNTQQApi<GeneralCallResult>({
|
|
||||||
methodName: NTQQApiMethod.ACTIVATE_MEMBER_INFO_CHANGE,
|
|
||||||
classNameIsRegister: true,
|
|
||||||
args: [],
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
static async getGroupAllInfo(groupCode: string, source: number = 4) {
|
|
||||||
return await callNTQQApi<GeneralCallResult & Group>({
|
|
||||||
methodName: NTQQApiMethod.GET_GROUP_ALL_INFO,
|
|
||||||
args: [
|
|
||||||
{
|
|
||||||
groupCode,
|
|
||||||
source
|
|
||||||
},
|
|
||||||
null,
|
|
||||||
],
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
static async getGroups(forced = false): Promise<Group[]> {
|
static async getGroups(forced = false): Promise<Group[]> {
|
||||||
type ListenerType = NodeIKernelGroupListener['onGroupListUpdate']
|
type ListenerType = NodeIKernelGroupListener['onGroupListUpdate']
|
||||||
const [, , groupList] = await NTEventDispatch.CallNormalEvent
|
const [, , groupList] = await NTEventDispatch.CallNormalEvent
|
||||||
@@ -52,23 +23,6 @@ export class NTQQGroupApi {
|
|||||||
return groupList
|
return groupList
|
||||||
}
|
}
|
||||||
|
|
||||||
static async getGroupMemberV2(GroupCode: string, uid: string, forced = false) {
|
|
||||||
type ListenerType = NodeIKernelGroupListener['onMemberInfoChange']
|
|
||||||
type EventType = NodeIKernelGroupService['getMemberInfo']
|
|
||||||
const [, , , _members] = await NTEventDispatch.CallNormalEvent<EventType, ListenerType>
|
|
||||||
(
|
|
||||||
'NodeIKernelGroupService/getMemberInfo',
|
|
||||||
'NodeIKernelGroupListener/onMemberInfoChange',
|
|
||||||
1,
|
|
||||||
5000,
|
|
||||||
(groupCode: string, changeType: number, members: Map<string, GroupMember>) => {
|
|
||||||
return groupCode == GroupCode && members.has(uid)
|
|
||||||
},
|
|
||||||
GroupCode, [uid], forced,
|
|
||||||
)
|
|
||||||
return _members.get(uid)
|
|
||||||
}
|
|
||||||
|
|
||||||
static async getGroupMembers(groupQQ: string, num = 3000): Promise<Map<string, GroupMember>> {
|
static async getGroupMembers(groupQQ: string, num = 3000): Promise<Map<string, GroupMember>> {
|
||||||
const session = getSession()
|
const session = getSession()
|
||||||
let result: Awaited<ReturnType<NodeIKernelGroupService['getNextMemberList']>>
|
let result: Awaited<ReturnType<NodeIKernelGroupService['getNextMemberList']>>
|
||||||
@@ -105,20 +59,6 @@ export class NTQQGroupApi {
|
|||||||
return result.result.infos
|
return result.result.infos
|
||||||
}
|
}
|
||||||
|
|
||||||
static async getGroupMembersInfo(groupCode: string, uids: string[], forceUpdate: boolean = false) {
|
|
||||||
return await callNTQQApi<GeneralCallResult>({
|
|
||||||
methodName: NTQQApiMethod.GROUP_MEMBERS_INFO,
|
|
||||||
args: [
|
|
||||||
{
|
|
||||||
forceUpdate,
|
|
||||||
groupCode,
|
|
||||||
uids
|
|
||||||
},
|
|
||||||
null,
|
|
||||||
],
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
static async getGroupNotifies() {
|
static async getGroupNotifies() {
|
||||||
// 获取管理员变更
|
// 获取管理员变更
|
||||||
// 加群通知,退出通知,需要管理员权限
|
// 加群通知,退出通知,需要管理员权限
|
||||||
@@ -166,13 +106,6 @@ export class NTQQGroupApi {
|
|||||||
|
|
||||||
static DelGroupFile = NTQQGroupApi.delGroupFile
|
static DelGroupFile = NTQQGroupApi.delGroupFile
|
||||||
|
|
||||||
static async delGroupFileFolder(groupCode: string, folderId: string) {
|
|
||||||
const session = getSession()
|
|
||||||
return session?.getRichMediaService().deleteGroupFolder(groupCode, folderId)!
|
|
||||||
}
|
|
||||||
|
|
||||||
static DelGroupFileFolder = NTQQGroupApi.delGroupFileFolder
|
|
||||||
|
|
||||||
static async handleGroupRequest(flag: string, operateType: GroupRequestOperateTypes, reason?: string) {
|
static async handleGroupRequest(flag: string, operateType: GroupRequestOperateTypes, reason?: string) {
|
||||||
const flagitem = flag.split('|')
|
const flagitem = flag.split('|')
|
||||||
const groupCode = flagitem[0]
|
const groupCode = flagitem[0]
|
||||||
@@ -255,17 +188,6 @@ export class NTQQGroupApi {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
static async getGroupRemainAtTimes(GroupCode: string) {
|
|
||||||
const session = getSession()
|
|
||||||
return session?.getGroupService().getGroupRemainAtTimes(GroupCode)!
|
|
||||||
}
|
|
||||||
|
|
||||||
// 头衔不可用
|
|
||||||
static async setGroupTitle(groupQQ: string, uid: string, title: string) {
|
|
||||||
}
|
|
||||||
|
|
||||||
static publishGroupBulletin(groupQQ: string, title: string, content: string) { }
|
|
||||||
|
|
||||||
static async removeGroupEssence(GroupCode: string, msgId: string) {
|
static async removeGroupEssence(GroupCode: string, msgId: string) {
|
||||||
const session = getSession()
|
const session = getSession()
|
||||||
// 代码没测过
|
// 代码没测过
|
||||||
|
@@ -11,28 +11,6 @@ export class NTQQMsgApi {
|
|||||||
return session?.getMsgService().getTempChatInfo(chatType, peerUid)!
|
return session?.getMsgService().getTempChatInfo(chatType, peerUid)!
|
||||||
}
|
}
|
||||||
|
|
||||||
static async prepareTempChat(toUserUid: string, GroupCode: string, nickname: string) {
|
|
||||||
//By Jadx/Ida Mlikiowa
|
|
||||||
let TempGameSession = {
|
|
||||||
nickname: '',
|
|
||||||
gameAppId: '',
|
|
||||||
selfTinyId: '',
|
|
||||||
peerRoleId: '',
|
|
||||||
peerOpenId: '',
|
|
||||||
}
|
|
||||||
const session = getSession()
|
|
||||||
return session?.getMsgService().prepareTempChat({
|
|
||||||
chatType: ChatType2.KCHATTYPETEMPC2CFROMGROUP,
|
|
||||||
peerUid: toUserUid,
|
|
||||||
peerNickname: nickname,
|
|
||||||
fromGroupCode: GroupCode,
|
|
||||||
sig: '',
|
|
||||||
selfPhone: '',
|
|
||||||
selfUid: getSelfUid(),
|
|
||||||
gameSession: TempGameSession
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
static async setEmojiLike(peer: Peer, msgSeq: string, emojiId: string, set: boolean = true) {
|
static async setEmojiLike(peer: Peer, msgSeq: string, emojiId: string, set: boolean = true) {
|
||||||
// nt_qq//global//nt_data//Emoji//emoji-resource//sysface_res/apng/ 下可以看到所有QQ表情预览
|
// nt_qq//global//nt_data//Emoji//emoji-resource//sysface_res/apng/ 下可以看到所有QQ表情预览
|
||||||
// nt_qq\global\nt_data\Emoji\emoji-resource\face_config.json 里面有所有表情的id, 自带表情id是QSid, 标准emoji表情id是QCid
|
// nt_qq\global\nt_data\Emoji\emoji-resource\face_config.json 里面有所有表情的id, 自带表情id是QSid, 标准emoji表情id是QCid
|
||||||
@@ -201,21 +179,6 @@ export class NTQQMsgApi {
|
|||||||
throw new Error('转发消息超时')
|
throw new Error('转发消息超时')
|
||||||
}
|
}
|
||||||
|
|
||||||
static async queryMsgsWithFilterExWithSeq(peer: Peer, msgSeq: string) {
|
|
||||||
const session = getSession()
|
|
||||||
const ret = await session?.getMsgService().queryMsgsWithFilterEx('0', '0', msgSeq, {
|
|
||||||
chatInfo: peer,//此处为Peer 为关键查询参数 没有啥也没有 by mlik iowa
|
|
||||||
filterMsgType: [],
|
|
||||||
filterSendersUid: [],
|
|
||||||
filterMsgToTime: '0',
|
|
||||||
filterMsgFromTime: '0',
|
|
||||||
isReverseOrder: false,
|
|
||||||
isIncludeCurrent: true,
|
|
||||||
pageLimit: 1,
|
|
||||||
})
|
|
||||||
return ret!
|
|
||||||
}
|
|
||||||
|
|
||||||
static async getMsgsBySeqAndCount(peer: Peer, seq: string, count: number, desc: boolean, z: boolean) {
|
static async getMsgsBySeqAndCount(peer: Peer, seq: string, count: number, desc: boolean, z: boolean) {
|
||||||
const session = getSession()
|
const session = getSession()
|
||||||
return await session?.getMsgService().getMsgsBySeqAndCount(peer, seq, count, desc, z)!
|
return await session?.getMsgService().getMsgsBySeqAndCount(peer, seq, count, desc, z)!
|
||||||
|
@@ -1,8 +1,7 @@
|
|||||||
import { callNTQQApi, GeneralCallResult, NTQQApiClass, NTQQApiMethod } from '../ntcall'
|
import { callNTQQApi, GeneralCallResult, NTQQApiMethod } from '../ntcall'
|
||||||
import { SelfInfo, User, UserDetailInfoByUin, UserDetailInfoByUinV2, UserDetailInfoListenerArg } from '../types'
|
import { User, UserDetailInfoByUin, UserDetailInfoByUinV2, UserDetailInfoListenerArg } from '../types'
|
||||||
import { ReceiveCmdS } from '../hook'
|
|
||||||
import { friends, groupMembers, getSelfUin } from '@/common/data'
|
import { friends, groupMembers, getSelfUin } from '@/common/data'
|
||||||
import { CacheClassFuncAsync, log, getBuildVersion } from '@/common/utils'
|
import { CacheClassFuncAsync, getBuildVersion } from '@/common/utils'
|
||||||
import { getSession } from '@/ntqqapi/wrapper'
|
import { getSession } from '@/ntqqapi/wrapper'
|
||||||
import { RequestUtil } from '@/common/utils/request'
|
import { RequestUtil } from '@/common/utils/request'
|
||||||
import { NodeIKernelProfileService, UserDetailSource, ProfileBizType } from '../services'
|
import { NodeIKernelProfileService, UserDetailSource, ProfileBizType } from '../services'
|
||||||
@@ -25,23 +24,6 @@ export class NTQQUserApi {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
static async getSelfInfo() {
|
|
||||||
return await callNTQQApi<SelfInfo>({
|
|
||||||
className: NTQQApiClass.GLOBAL_DATA,
|
|
||||||
methodName: NTQQApiMethod.SELF_INFO,
|
|
||||||
timeout: 2 * Time.second,
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
static async getUserInfo(uid: string) {
|
|
||||||
const result = await callNTQQApi<{ profiles: Map<string, User> }>({
|
|
||||||
methodName: NTQQApiMethod.USER_INFO,
|
|
||||||
args: [{ force: true, uids: [uid] }, undefined],
|
|
||||||
cbCmd: ReceiveCmdS.USER_INFO,
|
|
||||||
})
|
|
||||||
return result.profiles.get(uid)
|
|
||||||
}
|
|
||||||
|
|
||||||
static async fetchUserDetailInfo(uid: string) {
|
static async fetchUserDetailInfo(uid: string) {
|
||||||
let info: UserDetailInfoListenerArg
|
let info: UserDetailInfoListenerArg
|
||||||
if (NTEventDispatch.initialised) {
|
if (NTEventDispatch.initialised) {
|
||||||
@@ -111,32 +93,6 @@ export class NTQQUserApi {
|
|||||||
return profile
|
return profile
|
||||||
}
|
}
|
||||||
|
|
||||||
// return 'p_uin=o0xxx; p_skey=orXDssiGF8axxxxxxxxxxxxxx_; skey='
|
|
||||||
static async getCookieWithoutSkey() {
|
|
||||||
return await callNTQQApi<string>({
|
|
||||||
className: NTQQApiClass.GROUP_HOME_WORK,
|
|
||||||
methodName: NTQQApiMethod.UPDATE_SKEY,
|
|
||||||
args: [
|
|
||||||
{
|
|
||||||
domain: 'qun.qq.com',
|
|
||||||
},
|
|
||||||
],
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
static async getQzoneCookies() {
|
|
||||||
const uin = getSelfUin()
|
|
||||||
const requestUrl = 'https://ssl.ptlogin2.qq.com/jump?ptlang=1033&clientuin=' + uin + '&clientkey=' + (await NTQQUserApi.getClientKey()).clientKey + '&u1=https%3A%2F%2Fuser.qzone.qq.com%2F' + uin + '%2Finfocenter&keyindex=19%27'
|
|
||||||
let cookies: { [key: string]: string } = {}
|
|
||||||
try {
|
|
||||||
cookies = await RequestUtil.HttpsGetCookies(requestUrl)
|
|
||||||
} catch (e: any) {
|
|
||||||
log('获取QZone Cookies失败', e)
|
|
||||||
cookies = {}
|
|
||||||
}
|
|
||||||
return cookies
|
|
||||||
}
|
|
||||||
|
|
||||||
static async getSkey(): Promise<string> {
|
static async getSkey(): Promise<string> {
|
||||||
const clientKeyData = await NTQQUserApi.getClientKey()
|
const clientKeyData = await NTQQUserApi.getClientKey()
|
||||||
if (clientKeyData.result !== 0) {
|
if (clientKeyData.result !== 0) {
|
||||||
@@ -224,20 +180,15 @@ export class NTQQUserApi {
|
|||||||
return uid
|
return uid
|
||||||
}
|
}
|
||||||
|
|
||||||
static async getUidByUinV2(Uin: string) {
|
static async getUidByUinV2(uin: string) {
|
||||||
const session = getSession()
|
const session = getSession()!
|
||||||
let uid = (await session?.getProfileService().getUidByUin('FriendsServiceImpl', [Uin]))?.get(Uin)
|
let uid = (await session.getGroupService().getUidByUins([uin])).uids.get(uin)
|
||||||
if (uid) return uid
|
if (uid) return uid
|
||||||
uid = (await session?.getGroupService().getUidByUins([Uin]))?.uids.get(Uin)
|
uid = (await session.getProfileService().getUidByUin('FriendsServiceImpl', [uin])).get(uin)
|
||||||
if (uid) return uid
|
if (uid) return uid
|
||||||
uid = (await session?.getUixConvertService().getUid([Uin]))?.uidInfo.get(Uin)
|
uid = (await session.getUixConvertService().getUid([uin])).uidInfo.get(uin)
|
||||||
if (uid) return uid
|
if (uid) return uid
|
||||||
console.log((await NTQQFriendApi.getBuddyIdMapCache(true)))
|
const unveifyUid = (await NTQQUserApi.getUserDetailInfoByUinV2(uin)).detail.uid //从QQ Native 特殊转换
|
||||||
uid = (await NTQQFriendApi.getBuddyIdMapCache(true)).getValue(Uin)//从Buddy缓存获取Uid
|
|
||||||
if (uid) return uid
|
|
||||||
uid = (await NTQQFriendApi.getBuddyIdMap(true)).getValue(Uin)
|
|
||||||
if (uid) return uid
|
|
||||||
let unveifyUid = (await NTQQUserApi.getUserDetailInfoByUinV2(Uin)).detail.uid//从QQ Native 特殊转换
|
|
||||||
if (unveifyUid.indexOf('*') == -1) uid = unveifyUid
|
if (unveifyUid.indexOf('*') == -1) uid = unveifyUid
|
||||||
//if (uid) return uid
|
//if (uid) return uid
|
||||||
return uid
|
return uid
|
||||||
@@ -289,19 +240,17 @@ export class NTQQUserApi {
|
|||||||
return uin
|
return uin
|
||||||
}
|
}
|
||||||
|
|
||||||
static async getUinByUidV2(Uid: string) {
|
static async getUinByUidV2(uid: string) {
|
||||||
const session = getSession()
|
const session = getSession()!
|
||||||
let uin = (await session?.getProfileService().getUinByUid('FriendsServiceImpl', [Uid]))?.get(Uid)
|
let uin = (await session.getGroupService().getUinByUids([uid])).uins.get(uid)
|
||||||
if (uin) return uin
|
if (uin) return uin
|
||||||
uin = (await session?.getGroupService().getUinByUids([Uid]))?.uins.get(Uid)
|
uin = (await session.getProfileService().getUinByUid('FriendsServiceImpl', [uid])).get(uid)
|
||||||
if (uin) return uin
|
if (uin) return uin
|
||||||
uin = (await session?.getUixConvertService().getUin([Uid]))?.uinInfo.get(Uid)
|
uin = (await session.getUixConvertService().getUin([uid])).uinInfo.get(uid)
|
||||||
if (uin) return uin
|
if (uin) return uin
|
||||||
uin = (await NTQQFriendApi.getBuddyIdMapCache(true)).getKey(Uid) //从Buddy缓存获取Uin
|
uin = (await NTQQFriendApi.getBuddyIdMap(true)).getKey(uid)
|
||||||
if (uin) return uin
|
if (uin) return uin
|
||||||
uin = (await NTQQFriendApi.getBuddyIdMap(true)).getKey(Uid)
|
uin = (await NTQQUserApi.getUserDetailInfo(uid)).uin //从QQ Native 转换
|
||||||
if (uin) return uin
|
|
||||||
uin = (await NTQQUserApi.getUserDetailInfo(Uid)).uin //从QQ Native 转换
|
|
||||||
return uin
|
return uin
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -2,7 +2,6 @@ import { getSelfUin } from '@/common/data'
|
|||||||
import { log } from '@/common/utils/log'
|
import { log } from '@/common/utils/log'
|
||||||
import { NTQQUserApi } from './user'
|
import { NTQQUserApi } from './user'
|
||||||
import { RequestUtil } from '@/common/utils/request'
|
import { RequestUtil } from '@/common/utils/request'
|
||||||
import { CacheClassFuncAsync } from '@/common/utils/helper'
|
|
||||||
|
|
||||||
export enum WebHonorType {
|
export enum WebHonorType {
|
||||||
ALL = 'all',
|
ALL = 'all',
|
||||||
@@ -179,18 +178,6 @@ export class WebApi {
|
|||||||
return memberData
|
return memberData
|
||||||
}
|
}
|
||||||
|
|
||||||
// public static async addGroupDigest(groupCode: string, msgSeq: string) {
|
|
||||||
// const url = `https://qun.qq.com/cgi-bin/group_digest/cancel_digest?random=665&X-CROSS-ORIGIN=fetch&group_code=${groupCode}&msg_seq=${msgSeq}&msg_random=444021292`;
|
|
||||||
// const res = await this.request(url);
|
|
||||||
// return await res.json();
|
|
||||||
// }
|
|
||||||
|
|
||||||
// public async getGroupDigest(groupCode: string) {
|
|
||||||
// const url = `https://qun.qq.com/cgi-bin/group_digest/digest_list?random=665&X-CROSS-ORIGIN=fetch&group_code=${groupCode}&page_start=0&page_limit=20`;
|
|
||||||
// const res = await this.request(url);
|
|
||||||
// return await res.json();
|
|
||||||
// }
|
|
||||||
|
|
||||||
static async setGroupNotice(GroupCode: string, Content: string = '') {
|
static async setGroupNotice(GroupCode: string, Content: string = '') {
|
||||||
//https://web.qun.qq.com/cgi-bin/announce/add_qun_notice?bkn=${bkn}
|
//https://web.qun.qq.com/cgi-bin/announce/add_qun_notice?bkn=${bkn}
|
||||||
//qid=${群号}&bkn=${bkn}&text=${内容}&pinned=0&type=1&settings={"is_show_edit_card":1,"tip_window_type":1,"confirm_required":1}
|
//qid=${群号}&bkn=${bkn}&text=${内容}&pinned=0&type=1&settings={"is_show_edit_card":1,"tip_window_type":1,"confirm_required":1}
|
||||||
@@ -214,29 +201,6 @@ export class WebApi {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static async getGrouptNotice(GroupCode: string): Promise<undefined | WebApiGroupNoticeRet> {
|
|
||||||
const _Pskey = (await NTQQUserApi.getPSkey(['qun.qq.com']))['qun.qq.com']
|
|
||||||
const _Skey = await NTQQUserApi.getSkey()
|
|
||||||
const CookieValue = 'p_skey=' + _Pskey + '; skey=' + _Skey + '; p_uin=o' + getSelfUin()
|
|
||||||
let ret: WebApiGroupNoticeRet | undefined = undefined
|
|
||||||
//console.log(CookieValue)
|
|
||||||
if (!_Skey || !_Pskey) {
|
|
||||||
//获取Cookies失败
|
|
||||||
return undefined
|
|
||||||
}
|
|
||||||
const Bkn = WebApi.genBkn(_Skey)
|
|
||||||
const url = 'https://web.qun.qq.com/cgi-bin/announce/get_t_list?bkn=' + Bkn + '&qid=' + GroupCode + '&ft=23&ni=1&n=1&i=1&log_read=1&platform=1&s=-1&n=20'
|
|
||||||
try {
|
|
||||||
ret = await RequestUtil.HttpGetJson<WebApiGroupNoticeRet>(url, 'GET', '', { 'Cookie': CookieValue })
|
|
||||||
if (ret?.ec !== 0) {
|
|
||||||
return undefined
|
|
||||||
}
|
|
||||||
return ret
|
|
||||||
} catch (e) {
|
|
||||||
return undefined
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
static genBkn(sKey: string) {
|
static genBkn(sKey: string) {
|
||||||
sKey = sKey || '';
|
sKey = sKey || '';
|
||||||
let hash = 5381;
|
let hash = 5381;
|
||||||
|
Reference in New Issue
Block a user