feat: #232 /get_msg, /get_group_msg_history add raw message

This commit is contained in:
linyuchen 2024-05-24 08:11:38 +08:00
parent 948f10d4e3
commit 3024316b5b
2 changed files with 24 additions and 16 deletions

View File

@ -142,7 +142,8 @@ function onLoad() {
.catch((e) => { .catch((e) => {
log('保存设置失败', e.stack) log('保存设置失败', e.stack)
}) })
} else { }
else {
} }
}) })
.catch((err) => { .catch((err) => {
@ -169,13 +170,9 @@ function onLoad() {
OB11Constructor.message(message) OB11Constructor.message(message)
.then((msg) => { .then((msg) => {
if (debug) { if (!debug && msg.message.length === 0) {
msg.raw = message
} else {
if (msg.message.length === 0) {
return return
} }
}
const isSelfMsg = msg.user_id.toString() == selfInfo.uin const isSelfMsg = msg.user_id.toString() == selfInfo.uin
if (isSelfMsg && !reportSelfMessage) { if (isSelfMsg && !reportSelfMessage) {
return return
@ -210,7 +207,8 @@ function onLoad() {
let pokeEvent: OB11FriendPokeEvent | OB11GroupPokeEvent let pokeEvent: OB11FriendPokeEvent | OB11GroupPokeEvent
if (isGroup) { if (isGroup) {
pokeEvent = new OB11GroupPokeEvent(parseInt(id)) pokeEvent = new OB11GroupPokeEvent(parseInt(id))
} else { }
else {
pokeEvent = new OB11FriendPokeEvent(parseInt(id)) pokeEvent = new OB11FriendPokeEvent(parseInt(id))
} }
postOb11Event(pokeEvent) postOb11Event(pokeEvent)
@ -323,10 +321,12 @@ function onLoad() {
: 'set' : 'set'
// member1.role = notify.type == GroupNotifyTypes.ADMIN_SET ? GroupMemberRole.admin : GroupMemberRole.normal; // member1.role = notify.type == GroupNotifyTypes.ADMIN_SET ? GroupMemberRole.admin : GroupMemberRole.normal;
postOb11Event(groupAdminNoticeEvent, true) postOb11Event(groupAdminNoticeEvent, true)
} else { }
else {
log('获取群通知的成员信息失败', notify, getGroup(notify.group.groupCode)) log('获取群通知的成员信息失败', notify, getGroup(notify.group.groupCode))
} }
} else if (notify.type == GroupNotifyTypes.MEMBER_EXIT || notify.type == GroupNotifyTypes.KICK_MEMBER) { }
else if (notify.type == GroupNotifyTypes.MEMBER_EXIT || notify.type == GroupNotifyTypes.KICK_MEMBER) {
log('有成员退出通知', notify) log('有成员退出通知', notify)
try { try {
const member1 = await NTQQUserApi.getUserDetailInfo(notify.user1.uid) const member1 = await NTQQUserApi.getUserDetailInfo(notify.user1.uid)
@ -348,7 +348,8 @@ function onLoad() {
} catch (e) { } catch (e) {
log('获取群通知的成员信息失败', notify, e.stack.toString()) log('获取群通知的成员信息失败', notify, e.stack.toString())
} }
} else if ([GroupNotifyTypes.JOIN_REQUEST].includes(notify.type)) { }
else if ([GroupNotifyTypes.JOIN_REQUEST].includes(notify.type)) {
log('有加群请求') log('有加群请求')
let groupRequestEvent = new OB11GroupRequestEvent() let groupRequestEvent = new OB11GroupRequestEvent()
groupRequestEvent.group_id = parseInt(notify.group.groupCode) groupRequestEvent.group_id = parseInt(notify.group.groupCode)
@ -363,7 +364,8 @@ function onLoad() {
groupRequestEvent.comment = notify.postscript groupRequestEvent.comment = notify.postscript
groupRequestEvent.flag = notify.seq groupRequestEvent.flag = notify.seq
postOb11Event(groupRequestEvent) postOb11Event(groupRequestEvent)
} else if (notify.type == GroupNotifyTypes.INVITE_ME) { }
else if (notify.type == GroupNotifyTypes.INVITE_ME) {
log('收到邀请我加群通知') log('收到邀请我加群通知')
let groupInviteEvent = new OB11GroupRequestEvent() let groupInviteEvent = new OB11GroupRequestEvent()
groupInviteEvent.group_id = parseInt(notify.group.groupCode) groupInviteEvent.group_id = parseInt(notify.group.groupCode)
@ -380,7 +382,8 @@ function onLoad() {
log('解析群通知失败', e.stack.toString()) log('解析群通知失败', e.stack.toString())
} }
} }
} else if (payload.doubt) { }
else if (payload.doubt) {
// 可能有群管理员变动 // 可能有群管理员变动
} }
}) })
@ -473,7 +476,8 @@ function onLoad() {
getUserNick().then() getUserNick().then()
start().then() start().then()
} else { }
else {
setTimeout(init, 1000) setTimeout(init, 1000)
} }
} }

View File

@ -55,10 +55,11 @@ export class OB11Constructor {
let config = getConfigUtil().getConfig() let config = getConfigUtil().getConfig()
const { const {
enableLocalFile2Url, enableLocalFile2Url,
debug,
ob11: { messagePostFormat }, ob11: { messagePostFormat },
} = config } = config
const message_type = msg.chatType == ChatType.group ? 'group' : 'private' const message_type = msg.chatType == ChatType.group ? 'group' : 'private'
const resMsg: OB11Message = { let resMsg: OB11Message = {
self_id: parseInt(selfInfo.uin), self_id: parseInt(selfInfo.uin),
user_id: parseInt(msg.senderUin), user_id: parseInt(msg.senderUin),
time: parseInt(msg.msgTime) || Date.now(), time: parseInt(msg.msgTime) || Date.now(),
@ -78,8 +79,11 @@ export class OB11Constructor {
message_format: messagePostFormat === 'string' ? 'string' : 'array', message_format: messagePostFormat === 'string' ? 'string' : 'array',
post_type: selfInfo.uin == msg.senderUin ? EventType.MESSAGE_SENT : EventType.MESSAGE, post_type: selfInfo.uin == msg.senderUin ? EventType.MESSAGE_SENT : EventType.MESSAGE,
} }
if (debug){
resMsg.raw = msg
}
if (msg.chatType == ChatType.group) { if (msg.chatType == ChatType.group) {
resMsg.sub_type = 'normal' // 这里go-cqhttp是group而onebot11标准是normal, 蛋疼 resMsg.sub_type = 'normal'
resMsg.group_id = parseInt(msg.peerUin) resMsg.group_id = parseInt(msg.peerUin)
const member = await getGroupMember(msg.peerUin, msg.senderUin) const member = await getGroupMember(msg.peerUin, msg.senderUin)
if (member) { if (member) {