diff --git a/adapters/qq/src/internal/group.ts b/adapters/qq/src/internal/group.ts index 27378af0..fb5b7273 100644 --- a/adapters/qq/src/internal/group.ts +++ b/adapters/qq/src/internal/group.ts @@ -20,6 +20,8 @@ export class GroupInternal { return this.http().post<{ group_code: string msg: string + msg_id: string + timestamp: string } & { code: number message: string diff --git a/adapters/qq/src/message.ts b/adapters/qq/src/message.ts index f921b2d8..91c387ea 100644 --- a/adapters/qq/src/message.ts +++ b/adapters/qq/src/message.ts @@ -238,11 +238,16 @@ export class QQMessageEncoder extends MessageEncode const { sendResult: { msg_id } } = await this.bot.internal.sendPrivateMessage(this.session.channelId, data) session.messageId = msg_id } else { - // FIXME: missing message id const resp = await this.bot.internal.sendMessage(this.session.channelId, data) if (resp.msg !== 'success') { this.bot.logger.warn(resp) } + if (resp.msg_id && resp.msg === 'success') { + session.messageId = resp.msg_id + session.timestamp = new Date(resp.timestamp).valueOf() + session.app.emit(session, 'send', session) + this.results.push(session.event.message) + } 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) @@ -260,8 +265,6 @@ export class QQMessageEncoder extends MessageEncode this.bot.logger.warn('[response] %s %o', e.response?.status, e.response?.data) } - // this.results.push(session.event.message) - // session.app.emit(session, 'send', session) this.content = '' this.attachedFile = null this.rows = []