diff --git a/apps/chat.js b/apps/chat.js index 6cf4561..3de259a 100644 --- a/apps/chat.js +++ b/apps/chat.js @@ -1514,6 +1514,7 @@ export class chatgpt extends plugin { logger.info('开启Claude新对话,但旧对话未结束,自动结束上一次对话') await redis.del(`CHATGPT:SLACK_CONVERSATION:${e.sender.user_id}`) } + logger.info('send preset: ' + preset.content) response = await client.sendMessage(preset.content, e) await e.reply(response, true) } diff --git a/utils/common.js b/utils/common.js index 59ea05a..c5e3aa0 100644 --- a/utils/common.js +++ b/utils/common.js @@ -422,11 +422,15 @@ export async function isCN () { } } -export function limitString (str, maxLength) { +export function limitString (str, maxLength, addDots = true) { if (str.length <= maxLength) { return str } else { - return str.slice(0, maxLength) + '...' + if (addDots) { + return str.slice(0, maxLength) + '...' + } else { + return str.slice(0, maxLength) + } } } diff --git a/utils/slack/slackClient.js b/utils/slack/slackClient.js index 415b174..cb7b412 100644 --- a/utils/slack/slackClient.js +++ b/utils/slack/slackClient.js @@ -1,6 +1,7 @@ import { Config } from '../config.js' import slack from '@slack/bolt' import delay from 'delay' +import {limitString} from "../common.js"; let proxy if (Config.proxy) { try { @@ -33,6 +34,10 @@ export class SlackClaudeClient { if (t > 10) { return 'claude 未响应' } + if (prompt.length > 3990) { + logger.warn('消息长度大于slack限制,长度剪切至3990') + prompt = limitString(prompt, 3990, false) + } let qq = e.sender.user_id let channels = await this.app.client.conversations.list({ token: this.config.slackUserToken,