From f69e005569e926b539472c7cc6a0536c6416ac67 Mon Sep 17 00:00:00 2001 From: bili22 Date: Wed, 10 Jul 2024 18:16:58 +0800 Subject: [PATCH] fix sendPrivateMessage result --- adapters/qq/src/internal/group.ts | 9 +++++++- adapters/qq/src/message.ts | 35 ++++++++++++++----------------- 2 files changed, 24 insertions(+), 20 deletions(-) diff --git a/adapters/qq/src/internal/group.ts b/adapters/qq/src/internal/group.ts index 1c911dd4..56cd5f62 100644 --- a/adapters/qq/src/internal/group.ts +++ b/adapters/qq/src/internal/group.ts @@ -11,7 +11,14 @@ declare module './internal' { message: string data: any }> - sendPrivateMessage(openid: string, data: QQ.Message.Request): Promise + sendPrivateMessage(openid: string, data: QQ.Message.Request): Promise<{ + id: string + timestamp: string + } & { + code: number + message: string + data: any + }> sendFilePrivate(openid: string, data: QQ.Message.File.Request): Promise sendFileGuild(group_openid: string, data: QQ.Message.File.Request): Promise acknowledgeInteraction(interaction_id: string, data: { diff --git a/adapters/qq/src/message.ts b/adapters/qq/src/message.ts index a55d3c8f..e3b360b7 100644 --- a/adapters/qq/src/message.ts +++ b/adapters/qq/src/message.ts @@ -245,27 +245,24 @@ export class QQMessageEncoder extends MessageEncode session.type = 'send' const send = async () => { try { - if (this.session.isDirect) { - const { sendResult: { msg_id } } = await this.bot.internal.sendPrivateMessage(this.session.channelId, data) - session.messageId = msg_id - } else { - const resp = await this.bot.internal.sendMessage(this.session.channelId, data) - if (resp.id) { - session.messageId = resp.id - session.timestamp = new Date(resp.timestamp).valueOf() - session.channelId = this.session.channelId - session.guildId = this.session.guildId + const resp = this.session.isDirect + ? await this.bot.internal.sendPrivateMessage(this.session.channelId, data) + : await this.bot.internal.sendMessage(this.session.channelId, data) + if (resp.id) { + session.messageId = resp.id + session.timestamp = new Date(resp.timestamp).valueOf() + session.channelId = this.session.channelId + session.guildId = this.session.guildId + session.app.emit(session, 'send', session) + this.results.push(session.event.message) + } else if (resp.code === 304023 && this.bot.config.intents & QQ.Intents.MESSAGE_AUDIT) { + try { + const auditData: QQ.MessageAudited = await this.audit(resp.data.message_audit.audit_id) + session.messageId = auditData.message_id session.app.emit(session, 'send', session) this.results.push(session.event.message) - } else if (resp.code === 304023 && this.bot.config.intents & QQ.Intents.MESSAGE_AUDIT) { - try { - const auditData: QQ.MessageAudited = await this.audit(resp.data.message_audit.audit_id) - session.messageId = auditData.message_id - session.app.emit(session, 'send', session) - this.results.push(session.event.message) - } catch (e) { - this.bot.logger.error(e) - } + } catch (e) { + this.bot.logger.error(e) } } } catch (e) {