diff --git a/utils/slack/slackClient.js b/utils/slack/slackClient.js index 9e9f888..397d75d 100644 --- a/utils/slack/slackClient.js +++ b/utils/slack/slackClient.js @@ -1,7 +1,7 @@ import { Config } from '../config.js' import slack from '@slack/bolt' import delay from 'delay' -import {limitString} from "../common.js"; +import { limitString } from '../common.js' let proxy if (Config.proxy) { try { @@ -78,11 +78,13 @@ export class SlackClaudeClient { token: this.config.slackUserToken, channel: channel.id, limit: 1000, - ts: ts + ts }) await await redis.set(`CHATGPT:SLACK_CONVERSATION:${qq}`, `${ts}`) if (replies.messages.length > 0) { - let formalMessages = replies.messages.filter(m => m.text.indexOf('anthropic.com') === -1) + let formalMessages = replies.messages + .filter(m => m.metadata?.event_type !== 'claude_moderation') + .filter(m => !m.text.startsWith('_')) if (!formalMessages[formalMessages.length - 1].bot_profile) { // 问题的下一句不是bot回复的,这属于意料之外的问题,可能是多人同时问问题导致 再问一次吧 return await this.sendMessage(prompt, e, t + 1) @@ -127,7 +129,9 @@ export class SlackClaudeClient { ts: conversationId }) if (replies.messages.length > 0) { - let formalMessages = replies.messages.filter(m => m.text.indexOf('anthropic.com') === -1) + let formalMessages = replies.messages + .filter(m => m.metadata?.event_type !== 'claude_moderation') + .filter(m => !m.text.startsWith('_')) if (!formalMessages[formalMessages.length - 1].bot_profile) { // 问题的下一句不是bot回复的,这属于意料之外的问题,可能是多人同时问问题导致 再问一次吧 return await this.sendMessage(prompt, e, t + 1)