|
|
@@ -19,6 +19,7 @@ import type { ClawdbotConfig, OpenClawPluginApi } from 'openclaw/plugin-sdk';
|
|
|
import { Type } from '@sinclair/typebox';
|
|
|
import { createAccountScopedConfig } from '../../../core/accounts';
|
|
|
import { LarkClient } from '../../../core/lark-client';
|
|
|
+import { normalizeMessageId } from '../../../core/targets';
|
|
|
import {
|
|
|
json,
|
|
|
createToolContext,
|
|
|
@@ -367,8 +368,9 @@ export function registerFeishuImUserMessageTool(api: OpenClawPluginApi): boolean
|
|
|
// REPLY MESSAGE
|
|
|
// -----------------------------------------------------------------
|
|
|
case 'reply': {
|
|
|
+ const replyMessageId = normalizeMessageId(p.message_id) ?? p.message_id;
|
|
|
log.info(
|
|
|
- `reply: message_id=${p.message_id}, msg_type=${p.msg_type}, reply_in_thread=${p.reply_in_thread ?? false}`,
|
|
|
+ `reply: message_id=${replyMessageId}, msg_type=${p.msg_type}, reply_in_thread=${p.reply_in_thread ?? false}`,
|
|
|
);
|
|
|
const accountScopedCfg = createAccountScopedConfig(cfg, client.account.accountId);
|
|
|
const processedContent = preprocessPostContent(accountScopedCfg, p.msg_type, p.content);
|
|
|
@@ -378,7 +380,7 @@ export function registerFeishuImUserMessageTool(api: OpenClawPluginApi): boolean
|
|
|
(sdk, opts) =>
|
|
|
sdk.im.v1.message.reply(
|
|
|
{
|
|
|
- path: { message_id: p.message_id },
|
|
|
+ path: { message_id: replyMessageId },
|
|
|
data: {
|
|
|
content: processedContent,
|
|
|
msg_type: p.msg_type,
|