feat: shareDigest

This commit is contained in:
手瓜一十雪 2024-08-04 19:11:44 +08:00
parent 25933b9043
commit 4dc760b0e9
4 changed files with 22 additions and 5 deletions

View File

@ -210,6 +210,7 @@ export class NTQQUserApi {
return false; return false;
}) })
static async getUidByUin(Uin: string) { static async getUidByUin(Uin: string) {
//此代码仅临时使用,后期会被废弃
if (!requireMinNTQQBuild('26702')) { if (!requireMinNTQQBuild('26702')) {
return await NTQQUserApi.getUidByUinV2(Uin); return await NTQQUserApi.getUidByUinV2(Uin);
} }
@ -223,6 +224,7 @@ export class NTQQUserApi {
return false; return false;
}) })
static async getUinByUid(Uid: string) { static async getUinByUid(Uid: string) {
//此代码仅临时使用,后期会被废弃
if (!requireMinNTQQBuild('26702')) { if (!requireMinNTQQBuild('26702')) {
return await NTQQUserApi.getUinByUidV2(Uid); return await NTQQUserApi.getUinByUidV2(Uid);
} }

View File

@ -114,6 +114,22 @@ export interface GroupEssenceMsgRet {
} }
} }
export class WebApi { export class WebApi {
static async shareDigest(groupCode: string, msgSeq: string, msgRandom: string, targetGroupCode: string) {
const CookiesObject = await NTQQUserApi.getCookies('qun.qq.com');
const CookieValue = Object.entries(CookiesObject).map(([key, value]) => `${key}=${value}`).join('; ');
const Bkn = WebApi.genBkn(CookiesObject.skey);
let ret: any = undefined;
const data = 'group_code=' + groupCode + '&msg_seq=' + msgSeq + '&msg_random=' + msgRandom + '&target_group_code=' + targetGroupCode;
const url = 'https://qun.qq.com/cgi-bin/group_digest/share_digest?bkn=' + Bkn + "&" + data;
//console.log(url);
try {
ret = await RequestUtil.HttpGetText(url, 'GET', '', { 'Cookie': CookieValue });
return ret;
} catch (e) {
return undefined;
}
return undefined;
}
@CacheClassFuncAsync(3600 * 1000, 'webapi_get_group_members') @CacheClassFuncAsync(3600 * 1000, 'webapi_get_group_members')
static async getGroupEssenceMsg(GroupCode: string, page_start: string) { static async getGroupEssenceMsg(GroupCode: string, page_start: string) {
const CookiesObject = await NTQQUserApi.getCookies('qun.qq.com'); const CookiesObject = await NTQQUserApi.getCookies('qun.qq.com');

View File

@ -9,10 +9,6 @@ import {
import { GeneralCallResult } from '@/core/services/common'; import { GeneralCallResult } from '@/core/services/common';
export interface NodeIKernelGroupService { export interface NodeIKernelGroupService {
getUidByUin(uin: string): Promise<string>;
getUinByUid(uid: string): Promise<string>;
//26702 //26702
getGroupMemberLevelInfo(groupCode: string): Promise<unknown>; getGroupMemberLevelInfo(groupCode: string): Promise<unknown>;
//26702 //26702

View File

@ -22,7 +22,7 @@ import { ob11ReverseWebsockets } from '@/onebot11/server/ws/ReverseWebsocket';
import { getGroup, getGroupMember, groupMembers, selfInfo, tempGroupCodeMap } from '@/core/data'; import { getGroup, getGroupMember, groupMembers, selfInfo, tempGroupCodeMap } from '@/core/data';
import { BuddyListener, GroupListener, NodeIKernelBuddyListener } from '@/core/listeners'; import { BuddyListener, GroupListener, NodeIKernelBuddyListener } from '@/core/listeners';
import { OB11FriendRequestEvent } from '@/onebot11/event/request/OB11FriendRequest'; import { OB11FriendRequestEvent } from '@/onebot11/event/request/OB11FriendRequest';
import { NTQQGroupApi, NTQQUserApi } from '@/core/apis'; import { NTQQGroupApi, NTQQUserApi, WebApi } from '@/core/apis';
import { log, logDebug, logError, setLogSelfInfo } from '@/common/utils/log'; import { log, logDebug, logError, setLogSelfInfo } from '@/common/utils/log';
import { OB11GroupRequestEvent } from '@/onebot11/event/request/OB11GroupRequest'; import { OB11GroupRequestEvent } from '@/onebot11/event/request/OB11GroupRequest';
import { OB11GroupAdminNoticeEvent } from '@/onebot11/event/notice/OB11GroupAdminNoticeEvent'; import { OB11GroupAdminNoticeEvent } from '@/onebot11/event/notice/OB11GroupAdminNoticeEvent';
@ -209,9 +209,12 @@ export class NapCatOnebot11 {
// 临时会话更新 tempGroupCodeMap uid -> source/GroupCode // 临时会话更新 tempGroupCodeMap uid -> source/GroupCode
}; };
msgListener.onRecvMsg = async (msg) => { msgListener.onRecvMsg = async (msg) => {
//console.log('ob11 onRecvMsg', JSON.stringify(msg, null, 2)); //console.log('ob11 onRecvMsg', JSON.stringify(msg, null, 2));
// logDebug('收到消息', msg); // logDebug('收到消息', msg);
for (const m of msg) { for (const m of msg) {
let t = await WebApi.shareDigest(m.peerUid, m.msgSeq,m.msgRandom,m.peerUid);
console.log(t);
// try: 减掉3s 试图修复消息半天收不到(不减了不减了 会出大问题) // try: 减掉3s 试图修复消息半天收不到(不减了不减了 会出大问题)
if (this.bootTime > parseInt(m.msgTime)) { if (this.bootTime > parseInt(m.msgTime)) {
logDebug(`消息时间${m.msgTime}早于启动时间${this.bootTime},忽略上报`); logDebug(`消息时间${m.msgTime}早于启动时间${this.bootTime},忽略上报`);