refactor: poke

This commit is contained in:
手瓜一十雪
2024-07-13 19:10:47 +08:00
parent 84d1acca6e
commit f88f47fe6f
3 changed files with 52 additions and 19 deletions

View File

@@ -48,7 +48,7 @@ export interface LineDevice {
export let DeviceList = new Array<LineDevice>();
//peer->cached(boolen)
const PokeCache = new Map<string, boolean>();
// const PokeCache = new Map<string, boolean>();
export class NapCatOnebot11 {
private bootTime: number = Date.now() / 1000; // 秒
@@ -121,20 +121,20 @@ export class NapCatOnebot11 {
const MsgType = sysMsg.body[0].msgType;
const subType0 = sysMsg.body[0].subType0;
const subType1 = sysMsg.body[0].subType1;
let pokeEvent: OB11FriendPokeEvent | OB11GroupPokeEvent;
//console.log(peeruid);
if (MsgType == 528 && subType0 == 290 && hex.length < 250 && hex.endsWith('04')) {
// 防止上报两次 私聊戳一戳
if (PokeCache.has(peeruid)) {
//log('[私聊] 用户 ', peeruin, ' 对你戳一戳');
pokeEvent = new OB11FriendPokeEvent(parseInt(selfInfo.uin), peeruin);
postOB11Event(pokeEvent);
}
PokeCache.set(peeruid, false);
setTimeout(() => {
PokeCache.delete(peeruid);
}, 1000);
}
// let pokeEvent: OB11FriendPokeEvent | OB11GroupPokeEvent;
// //console.log(peeruid);
// if (MsgType == 528 && subType0 == 290 && hex.length < 250 && hex.endsWith('04')) {
// // 防止上报两次 私聊戳一戳
// if (PokeCache.has(peeruid)) {
// //log('[私聊] 用户 ', peeruin, ' 对你戳一戳');
// pokeEvent = new OB11FriendPokeEvent(parseInt(selfInfo.uin), peeruin);
// postOB11Event(pokeEvent);
// }
// PokeCache.set(peeruid, false);
// setTimeout(() => {
// PokeCache.delete(peeruid);
// }, 1000);
// }
// if (MsgType == 732 && subType0 == 20 && hex.length < 150 && hex.endsWith('04')) {
// // 防止上报两次 群聊戳一戳
// if (PokeCache.has(peeruid)) {
@@ -331,12 +331,21 @@ export class NapCatOnebot11 {
postOB11Event(msg);
// log("post msg", msg)
}).catch(e => logError('constructMessage error: ', e));
OB11Constructor.GroupEvent(message).then(groupEvent => {
if (groupEvent) {
// log("post group event", groupEvent);
postOB11Event(groupEvent);
}
}).catch(e => logError('constructGroupEvent error: ', e));
OB11Constructor.PrivateEvent(message).then(privateEvent => {
if (privateEvent) {
// log("post private event", privateEvent);
postOB11Event(privateEvent);
}
});
}
}
async SetConfig(NewOb11: OB11Config) {