Changes: - Default replyToMode from "off" to "first" for better threading UX - Add messageThreadId and replyToMessageId params for forum topic support - Add messaging tool duplicate detection to suppress redundant block replies - Add sendMessage action to telegram tool schema - Add @grammyjs/types devDependency for proper TypeScript typing - Remove @ts-nocheck and fix all type errors in send.ts - Add comprehensive docs/telegram.md documentation - Add PR-326-REVIEW.md with John Carmack-level code review Test coverage: - normalizeTextForComparison: 5 cases - isMessagingToolDuplicate: 7 cases - sendMessageTelegram thread params: 5 cases - handleTelegramAction sendMessage: 4 cases - Forum topic isolation: 4 cases 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
19 lines
635 B
TypeScript
19 lines
635 B
TypeScript
import { loadConfig } from "../../config/config.js";
|
|
import type { AnyAgentTool } from "./common.js";
|
|
import { handleTelegramAction } from "./telegram-actions.js";
|
|
import { TelegramToolSchema } from "./telegram-schema.js";
|
|
|
|
export function createTelegramTool(): AnyAgentTool {
|
|
return {
|
|
label: "Telegram",
|
|
name: "telegram",
|
|
description: "Send messages and manage reactions on Telegram.",
|
|
parameters: TelegramToolSchema,
|
|
execute: async (_toolCallId, args) => {
|
|
const params = args as Record<string, unknown>;
|
|
const cfg = loadConfig();
|
|
return await handleTelegramAction(params, cfg);
|
|
},
|
|
};
|
|
}
|