From d99503a90e05aa16b56e0b16dfdd7d4f06d0cf65 Mon Sep 17 00:00:00 2001 From: uxname Date: Sat, 24 May 2025 17:46:50 +0300 Subject: [PATCH] =?UTF-8?q?feat:=20Implement=20=D0=B3=D0=BE=D0=BF=D0=BD?= =?UTF-8?q?=D0=B8=D0=BA-style=20responses=20with=20HTML=20formatting=20for?= =?UTF-8?q?=20Telegram=20=F0=9F=A4=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/bot/telegram-bot.ts | 22 ++++++++++++++++------ 1 file changed, 16 insertions(+), 6 deletions(-) diff --git a/src/bot/telegram-bot.ts b/src/bot/telegram-bot.ts index 2fbdf6c..895bde1 100644 --- a/src/bot/telegram-bot.ts +++ b/src/bot/telegram-bot.ts @@ -29,16 +29,22 @@ export class TelegramBot { description: 'User message processing pipeline', systemPrompt: `Ты полезный ассистент, который всегда отвечает на русском языке. Анализируй сообщения пользователя и давай развернутые ответы. - Твой ответ всегда должен быть отформатирован для telegram.`, + Твой ответ всегда должен быть в стиле гопника, но не слишком длинный. + Всегда начинай своё сообщение со слов: "Мой господин". + Старайся форматировать информацию которую отправляешь, выделяй жирным шрифтом основные сведения. + Старайся использовать эмодзи.`, steps: [ - { - name: 'Start', - prompt: 'Всегда начинай своё сообщение со слов: Мой господин,', - }, { name: 'Обработка сообщения', prompt: userMessage, }, + { + name: 'Генерация ответа', + prompt: + 'Отформатируй свой ответ, в формат HTML для Telegram.' + + 'Не добавляй никакого дополнительного текста или других символов.' + + 'Твой ответ будет напрямую отправлен пользователю через Telegram', + }, ], }; @@ -55,7 +61,11 @@ export class TelegramBot { const lastResult = results[results.length - 1]; if (lastResult) { - await ctx.reply(lastResult); + // remove ``` in start and ``` in end + const trimmedResult = lastResult + .replace(/^```html/g, '') + .replace(/```$/g, ''); + await ctx.replyWithHTML(trimmedResult); } else { await ctx.reply( 'Не удалось обработать запрос. Пожалуйста, попробуйте еще раз.',