mirror of
https://github.com/NapNeko/NapCatQQ.git
synced 2025-12-18 20:30:08 +08:00
Improve fix: only suppress card change events for forward messages
Changed the condition to specifically check for forward message elements (multiForwardMsgElement or arkElement) before suppressing empty card name changes. This ensures legitimate card name clearing (setting to empty) still works correctly while preventing false positives from forward messages. Co-authored-by: sj817 <74231782+sj817@users.noreply.github.com>
This commit is contained in:
parent
6a6a0e0539
commit
edc14763f0
@ -116,9 +116,10 @@ export class OneBotGroupApi {
|
||||
const member = await this.core.apis.GroupApi.getGroupMember(msg.peerUid, msg.senderUin);
|
||||
if (member && member.cardName !== msg.sendMemberName) {
|
||||
const newCardName = msg.sendMemberName ?? '';
|
||||
// 防止误触:如果新名片为空且旧名片不为空,不触发事件(可能是转发消息等场景的不可靠数据)
|
||||
if (newCardName === '' && member.cardName !== '') {
|
||||
this.core.context.logger.logDebug('忽略不可靠的群名片变更事件', {
|
||||
// 防止误触:如果消息包含转发元素且新名片为空,不触发事件(转发消息的sendMemberName不可靠)
|
||||
const hasForwardElement = msg.elements.some(e => e.multiForwardMsgElement || e.arkElement);
|
||||
if (newCardName === '' && member.cardName !== '' && hasForwardElement) {
|
||||
this.core.context.logger.logDebug('忽略转发消息的不可靠群名片变更事件', {
|
||||
peerUid: msg.peerUid,
|
||||
senderUin: msg.senderUin,
|
||||
oldCard: member.cardName,
|
||||
|
||||
Loading…
Reference in New Issue
Block a user