mirror of
https://github.com/NapNeko/NapCatQQ.git
synced 2026-02-12 16:00:27 +00:00
Compare commits
8 Commits
copilot/fi
...
v4.9.30
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
dbb5a0022e | ||
|
|
cb8c8d6b57 | ||
|
|
93c140ed4e | ||
|
|
457b072f0e | ||
|
|
1869493473 | ||
|
|
f33c66ce15 | ||
|
|
e8d6f86458 | ||
|
|
a000ffdf0d |
2
.gitignore
vendored
2
.gitignore
vendored
@@ -15,3 +15,5 @@ devconfig/*
|
|||||||
checkVersion.sh
|
checkVersion.sh
|
||||||
bun.lockb
|
bun.lockb
|
||||||
tests/run/
|
tests/run/
|
||||||
|
guild1.db-wal
|
||||||
|
guild1.db-shm
|
||||||
|
|||||||
@@ -4,7 +4,7 @@
|
|||||||
"name": "NapCatQQ",
|
"name": "NapCatQQ",
|
||||||
"slug": "NapCat.Framework",
|
"slug": "NapCat.Framework",
|
||||||
"description": "高性能的 OneBot 11 协议实现",
|
"description": "高性能的 OneBot 11 协议实现",
|
||||||
"version": "4.9.27",
|
"version": "4.9.29",
|
||||||
"icon": "./logo.png",
|
"icon": "./logo.png",
|
||||||
"authors": [
|
"authors": [
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
"name": "napcat",
|
"name": "napcat",
|
||||||
"private": true,
|
"private": true,
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"version": "4.9.27",
|
"version": "4.9.29",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"build:universal": "npm run build:webui && npm run dev:universal || exit 1",
|
"build:universal": "npm run build:webui && npm run dev:universal || exit 1",
|
||||||
"build:framework": "npm run build:webui && npm run dev:framework || exit 1",
|
"build:framework": "npm run build:webui && npm run dev:framework || exit 1",
|
||||||
|
|||||||
@@ -1 +1 @@
|
|||||||
export const napCatVersion = '4.9.27';
|
export const napCatVersion = '4.9.29';
|
||||||
|
|||||||
@@ -17,8 +17,14 @@ export class NTQQFriendApi {
|
|||||||
|
|
||||||
async getBuddyV2SimpleInfoMap () {
|
async getBuddyV2SimpleInfoMap () {
|
||||||
const buddyService = this.context.session.getBuddyService();
|
const buddyService = this.context.session.getBuddyService();
|
||||||
|
let uids: string[] = [];
|
||||||
|
if (this.core.context.basicInfoWrapper.requireMinNTQQBuild('41679')) {
|
||||||
|
const buddyListV2NT = await buddyService.getBuddyListV2('0', true, BuddyListReqType.KNOMAL);
|
||||||
|
uids = buddyListV2NT.data.flatMap(item => item.buddyUids);
|
||||||
|
} else {
|
||||||
const buddyListV2 = await buddyService.getBuddyListV2('0', BuddyListReqType.KNOMAL);
|
const buddyListV2 = await buddyService.getBuddyListV2('0', BuddyListReqType.KNOMAL);
|
||||||
const uids = buddyListV2.data.flatMap(item => item.buddyUids);
|
uids = buddyListV2.data.flatMap(item => item.buddyUids);
|
||||||
|
}
|
||||||
return await this.core.eventWrapper.callNoListenerEvent(
|
return await this.core.eventWrapper.callNoListenerEvent(
|
||||||
'NodeIKernelProfileService/getCoreAndBaseInfo',
|
'NodeIKernelProfileService/getCoreAndBaseInfo',
|
||||||
'nodeStore',
|
'nodeStore',
|
||||||
@@ -47,10 +53,15 @@ export class NTQQFriendApi {
|
|||||||
|
|
||||||
async getBuddyV2ExWithCate () {
|
async getBuddyV2ExWithCate () {
|
||||||
const buddyService = this.context.session.getBuddyService();
|
const buddyService = this.context.session.getBuddyService();
|
||||||
const buddyListV2 = (await buddyService.getBuddyListV2('0', BuddyListReqType.KNOMAL)).data;
|
let uids: string[] = [];
|
||||||
const uids = buddyListV2.flatMap(item => {
|
let buddyListV2: Awaited<ReturnType<typeof buddyService.getBuddyListV2>>['data'];
|
||||||
return item.buddyUids;
|
if (this.core.context.basicInfoWrapper.requireMinNTQQBuild('41679')) {
|
||||||
});
|
buddyListV2 = (await buddyService.getBuddyListV2('0', true, BuddyListReqType.KNOMAL)).data;
|
||||||
|
uids = buddyListV2.flatMap(item => item.buddyUids);
|
||||||
|
} else {
|
||||||
|
buddyListV2 = (await buddyService.getBuddyListV2('0', BuddyListReqType.KNOMAL)).data;
|
||||||
|
uids = buddyListV2.flatMap(item => item.buddyUids);
|
||||||
|
}
|
||||||
const data = await this.core.eventWrapper.callNoListenerEvent(
|
const data = await this.core.eventWrapper.callNoListenerEvent(
|
||||||
'NodeIKernelProfileService/getCoreAndBaseInfo',
|
'NodeIKernelProfileService/getCoreAndBaseInfo',
|
||||||
'nodeStore',
|
'nodeStore',
|
||||||
|
|||||||
@@ -3,122 +3,133 @@ import { NodeIKernelBuddyListener } from '@/core/listeners';
|
|||||||
import { BuddyListReqType } from '@/core/types/user';
|
import { BuddyListReqType } from '@/core/types/user';
|
||||||
|
|
||||||
export interface NodeIKernelBuddyService {
|
export interface NodeIKernelBuddyService {
|
||||||
getBuddyListV2(callFrom: string, reqType: BuddyListReqType): Promise<GeneralCallResult & {
|
getBuddyListV2 (callFrom: string, reqType: BuddyListReqType): Promise<GeneralCallResult & {
|
||||||
data: Array<{
|
data: Array<{
|
||||||
categoryId: number,
|
categoryId: number,
|
||||||
categorySortId: number,
|
categorySortId: number,
|
||||||
categroyName: string,
|
categroyName: string,
|
||||||
categroyMbCount: number,
|
categroyMbCount: number,
|
||||||
onlineCount: number,
|
onlineCount: number,
|
||||||
buddyUids: Array<string>
|
buddyUids: Array<string>;
|
||||||
}>
|
}>;
|
||||||
|
}>;
|
||||||
|
getBuddyListV2 (callFrom: string, isPullRefresh: boolean, reqType: BuddyListReqType): Promise<GeneralCallResult & {
|
||||||
|
data: Array<{
|
||||||
|
categoryId: number,
|
||||||
|
categorySortId: number,
|
||||||
|
categroyName: string,
|
||||||
|
categroyMbCount: number,
|
||||||
|
onlineCount: number,
|
||||||
|
buddyUids: Array<string>;
|
||||||
|
}>;
|
||||||
}>;
|
}>;
|
||||||
|
|
||||||
getBuddyListFromCache(reqType: BuddyListReqType): Promise<Array<
|
|
||||||
|
getBuddyListFromCache (reqType: BuddyListReqType): Promise<Array<
|
||||||
{
|
{
|
||||||
categoryId: number, // 9999为特别关心
|
categoryId: number, // 9999为特别关心
|
||||||
categorySortId: number, // 排序方式
|
categorySortId: number, // 排序方式
|
||||||
categroyName: string, // 分类名
|
categroyName: string, // 分类名
|
||||||
categroyMbCount: number, // 不懂
|
categroyMbCount: number, // 不懂
|
||||||
onlineCount: number, // 在线数目
|
onlineCount: number, // 在线数目
|
||||||
buddyUids: Array<string>// Uids
|
buddyUids: Array<string>;// Uids
|
||||||
}>>;
|
}>>;
|
||||||
|
|
||||||
addKernelBuddyListener(listener: NodeIKernelBuddyListener): number;
|
addKernelBuddyListener (listener: NodeIKernelBuddyListener): number;
|
||||||
|
|
||||||
getAllBuddyCount(): number;
|
getAllBuddyCount (): number;
|
||||||
|
|
||||||
removeKernelBuddyListener(listenerId: number): void;
|
removeKernelBuddyListener (listenerId: number): void;
|
||||||
|
|
||||||
// getBuddyList(nocache: boolean): Promise<GeneralCallResult>;
|
// getBuddyList(nocache: boolean): Promise<GeneralCallResult>;
|
||||||
|
|
||||||
getBuddyNick(uid: number): string;
|
getBuddyNick (uid: number): string;
|
||||||
|
|
||||||
getBuddyRemark(uid: number): string;
|
getBuddyRemark (uid: number): string;
|
||||||
|
|
||||||
setBuddyRemark(param: { uid: string, remark: string, signInfo?: unknown }): void;
|
setBuddyRemark (param: { uid: string, remark: string, signInfo?: unknown; }): void;
|
||||||
|
|
||||||
getAvatarUrl(uid: number): string;
|
getAvatarUrl (uid: number): string;
|
||||||
|
|
||||||
isBuddy(uid: string): boolean;
|
isBuddy (uid: string): boolean;
|
||||||
|
|
||||||
getCategoryNameWithUid(uid: number): string;
|
getCategoryNameWithUid (uid: number): string;
|
||||||
|
|
||||||
getTargetBuddySetting(uid: number): unknown;
|
getTargetBuddySetting (uid: number): unknown;
|
||||||
|
|
||||||
getTargetBuddySettingByType(uid: number, type: number): unknown;
|
getTargetBuddySettingByType (uid: number, type: number): unknown;
|
||||||
|
|
||||||
getBuddyReqUnreadCnt(): number;
|
getBuddyReqUnreadCnt (): number;
|
||||||
|
|
||||||
getBuddyReq(): Promise<GeneralCallResult>;
|
getBuddyReq (): Promise<GeneralCallResult>;
|
||||||
|
|
||||||
delBuddyReq(uid: number): void;
|
delBuddyReq (uid: number): void;
|
||||||
|
|
||||||
clearBuddyReqUnreadCnt(): Promise<GeneralCallResult>;
|
clearBuddyReqUnreadCnt (): Promise<GeneralCallResult>;
|
||||||
|
|
||||||
reqToAddFriends(uid: number, msg: string): void;
|
reqToAddFriends (uid: number, msg: string): void;
|
||||||
|
|
||||||
setSpacePermission(uid: number, permission: number): void;
|
setSpacePermission (uid: number, permission: number): void;
|
||||||
|
|
||||||
approvalFriendRequest(arg: {
|
approvalFriendRequest (arg: {
|
||||||
friendUid: string;
|
friendUid: string;
|
||||||
reqTime: string;
|
reqTime: string;
|
||||||
accept: boolean;
|
accept: boolean;
|
||||||
}): Promise<void>;
|
}): Promise<void>;
|
||||||
|
|
||||||
delBuddy(param: {
|
delBuddy (param: {
|
||||||
friendUid: string;
|
friendUid: string;
|
||||||
tempBlock: boolean;
|
tempBlock: boolean;
|
||||||
tempBothDel: boolean;
|
tempBothDel: boolean;
|
||||||
}): Promise<unknown>;
|
}): Promise<unknown>;
|
||||||
|
|
||||||
delBatchBuddy(uids: number[]): void;
|
delBatchBuddy (uids: number[]): void;
|
||||||
|
|
||||||
getSmartInfos(uid: number): unknown;
|
getSmartInfos (uid: number): unknown;
|
||||||
|
|
||||||
setBuddyCategory(uid: number, category: number): void;
|
setBuddyCategory (uid: number, category: number): void;
|
||||||
|
|
||||||
setBatchBuddyCategory(uids: number[], category: number): void;
|
setBatchBuddyCategory (uids: number[], category: number): void;
|
||||||
|
|
||||||
addCategory(category: string): void;
|
addCategory (category: string): void;
|
||||||
|
|
||||||
delCategory(category: string): void;
|
delCategory (category: string): void;
|
||||||
|
|
||||||
renameCategory(oldCategory: string, newCategory: string): void;
|
renameCategory (oldCategory: string, newCategory: string): void;
|
||||||
|
|
||||||
resortCategory(categorys: string[]): void;
|
resortCategory (categorys: string[]): void;
|
||||||
|
|
||||||
pullCategory(uid: number, category: string): void;
|
pullCategory (uid: number, category: string): void;
|
||||||
|
|
||||||
setTop(uid: number, isTop: boolean): void;
|
setTop (uid: number, isTop: boolean): void;
|
||||||
|
|
||||||
SetSpecialCare(uid: number, isSpecialCare: boolean): void;
|
SetSpecialCare (uid: number, isSpecialCare: boolean): void;
|
||||||
|
|
||||||
setMsgNotify(uid: number, isNotify: boolean): void;
|
setMsgNotify (uid: number, isNotify: boolean): void;
|
||||||
|
|
||||||
hasBuddyList(): boolean;
|
hasBuddyList (): boolean;
|
||||||
|
|
||||||
setBlock(uid: number, isBlock: boolean): void;
|
setBlock (uid: number, isBlock: boolean): void;
|
||||||
|
|
||||||
isBlocked(uid: number): boolean;
|
isBlocked (uid: number): boolean;
|
||||||
|
|
||||||
modifyAddMeSetting(setting: unknown): void;
|
modifyAddMeSetting (setting: unknown): void;
|
||||||
|
|
||||||
getAddMeSetting(): unknown;
|
getAddMeSetting (): unknown;
|
||||||
|
|
||||||
getDoubtBuddyReq(reqId: string, num: number, uk:string): Promise<GeneralCallResult>;
|
getDoubtBuddyReq (reqId: string, num: number, uk: string): Promise<GeneralCallResult>;
|
||||||
|
|
||||||
getDoubtBuddyUnreadNum(): number;
|
getDoubtBuddyUnreadNum (): number;
|
||||||
|
|
||||||
approvalDoubtBuddyReq(uid: string, str1: string, str2: string): void;
|
approvalDoubtBuddyReq (uid: string, str1: string, str2: string): void;
|
||||||
|
|
||||||
delDoubtBuddyReq(uid: number): void;
|
delDoubtBuddyReq (uid: number): void;
|
||||||
|
|
||||||
delAllDoubtBuddyReq(): Promise<GeneralCallResult>;
|
delAllDoubtBuddyReq (): Promise<GeneralCallResult>;
|
||||||
|
|
||||||
reportDoubtBuddyReqUnread(): void;
|
reportDoubtBuddyReqUnread (): void;
|
||||||
|
|
||||||
getBuddyRecommendContactArkJson(uid: string, phoneNumber: string): Promise<GeneralCallResult & { arkMsg: string }>;
|
getBuddyRecommendContactArkJson (uid: string, phoneNumber: string): Promise<GeneralCallResult & { arkMsg: string; }>;
|
||||||
|
|
||||||
isNull(): boolean;
|
isNull (): boolean;
|
||||||
}
|
}
|
||||||
|
|||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -37,7 +37,7 @@ export class SendGroupNotice extends OneBotAction<Payload, null> {
|
|||||||
await checkFileExist(path, 5000);
|
await checkFileExist(path, 5000);
|
||||||
const ImageUploadResult = await this.core.apis.GroupApi.uploadGroupBulletinPic(payload.group_id.toString(), path);
|
const ImageUploadResult = await this.core.apis.GroupApi.uploadGroupBulletinPic(payload.group_id.toString(), path);
|
||||||
if (ImageUploadResult.errCode !== 0) {
|
if (ImageUploadResult.errCode !== 0) {
|
||||||
throw new Error(`群公告${payload.image}设置失败,图片上传失败`);
|
throw new Error(`群公告${payload.image}设置失败,图片上传失败 , 错误信息:${ImageUploadResult.errMsg}`);
|
||||||
}
|
}
|
||||||
|
|
||||||
unlink(path).catch(() => { });
|
unlink(path).catch(() => { });
|
||||||
|
|||||||
BIN
tests/QQNT.dll
BIN
tests/QQNT.dll
Binary file not shown.
Reference in New Issue
Block a user