From ed87b2c6428d70640c38a3f8563f08a37567056b Mon Sep 17 00:00:00 2001 From: Oscar Date: Mon, 1 Jun 2026 11:22:51 +0300 Subject: [PATCH] =?UTF-8?q?=F0=9F=9A=80=20feat(bot-commands):=20=D0=94?= =?UTF-8?q?=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB=D0=B5=D0=BD=D0=B0=20=D1=84=D1=83?= =?UTF-8?q?=D0=BD=D0=BA=D1=86=D0=B8=D1=8F=20=D0=BE=D1=82=D0=BB=D0=B0=D0=B4?= =?UTF-8?q?=D0=BA=D0=B8=20=D0=B4=D0=BB=D1=8F=20=D1=80=D0=B5=D0=B3=D0=B8?= =?UTF-8?q?=D0=BE=D0=BD=D0=B0.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/hh/bot-commands.ts | 20 +++++++++++--------- src/hh/handlers/debug.ts | 7 +++++++ src/hh/handlers/onboarding.ts | 5 ++--- 3 files changed, 20 insertions(+), 12 deletions(-) create mode 100644 src/hh/handlers/debug.ts diff --git a/src/hh/bot-commands.ts b/src/hh/bot-commands.ts index 5433167..bc7c5bb 100644 --- a/src/hh/bot-commands.ts +++ b/src/hh/bot-commands.ts @@ -1,13 +1,14 @@ import bot from '@bot' import prisma from '@prisma' -import { BTN, FILTERS_REPLY_KEYBOARD, INFO_REPLY_KEYBOARD, LOGIN_REPLY_KEYBOARD, MAIN_REPLY_KEYBOARD, SETTINGS_REPLY_KEYBOARD } from './ui.js' -import { getState } from './state.js' -import { doLogin, handleLogin } from './handlers/auth.js' +import { debugFunc } from '@/hh/handlers/debug' import { handleApply } from './handlers/apply.js' -import { handleStatus, handleSkipped } from './handlers/info.js' +import { doLogin, handleLogin } from './handlers/auth.js' +import { handleSkipped, handleStatus } from './handlers/info.js' +import { finishOnboarding, showPromptStep, showQueryStep, showResumeInfo } from './handlers/onboarding.js' import { handleMyResume, handleResumeList, handleResumePick } from './handlers/resume.js' import { DEFAULT_PROMPT, handleAutoToggle, handleMax, handlePrompt, handleQuery } from './handlers/settings.js' -import { finishOnboarding, showPromptStep, showQueryStep, showResumeInfo } from './handlers/onboarding.js' +import { getState } from './state.js' +import { BTN, FILTERS_REPLY_KEYBOARD, INFO_REPLY_KEYBOARD, LOGIN_REPLY_KEYBOARD, MAIN_REPLY_KEYBOARD, SETTINGS_REPLY_KEYBOARD } from './ui.js' type MsgHandler = (chatId: number) => Promise type CallbackHandler = (chatId: number, messageId: number) => Promise @@ -23,10 +24,11 @@ const MESSAGE_HANDLERS: Partial> = { [BTN.RESUME_LIST]: handleResumeList, [BTN.MY_RESUME]: handleMyResume, [BTN.SKIPPED]: handleSkipped, - [BTN.SETTINGS]: async chatId => { await bot.sendMessage(chatId, '⚙️ Настройки:', { reply_markup: SETTINGS_REPLY_KEYBOARD }) }, - [BTN.FILTERS]: async chatId => { await bot.sendMessage(chatId, '🔎 Фильтры:', { reply_markup: FILTERS_REPLY_KEYBOARD }) }, - [BTN.INFO]: async chatId => { await bot.sendMessage(chatId, 'ℹ️ Информация:', { reply_markup: INFO_REPLY_KEYBOARD }) }, - [BTN.BACK]: async chatId => { await bot.sendMessage(chatId, '🤖 HH Auto-Apply', { reply_markup: MAIN_REPLY_KEYBOARD }) }, + [BTN.SETTINGS]: async (chatId) => { await bot.sendMessage(chatId, '⚙️ Настройки:', { reply_markup: SETTINGS_REPLY_KEYBOARD }) }, + [BTN.FILTERS]: async (chatId) => { await bot.sendMessage(chatId, '🔎 Фильтры:', { reply_markup: FILTERS_REPLY_KEYBOARD }) }, + [BTN.INFO]: async (chatId) => { await bot.sendMessage(chatId, 'ℹ️ Информация:', { reply_markup: INFO_REPLY_KEYBOARD }) }, + [BTN.BACK]: async (chatId) => { await bot.sendMessage(chatId, '🤖 HH Auto-Apply', { reply_markup: MAIN_REPLY_KEYBOARD }) }, + [BTN.REGION]: debugFunc, } const CALLBACK_HANDLERS: Record = { diff --git a/src/hh/handlers/debug.ts b/src/hh/handlers/debug.ts new file mode 100644 index 0000000..6cba20b --- /dev/null +++ b/src/hh/handlers/debug.ts @@ -0,0 +1,7 @@ +import bot from '@bot' +import { startOnboarding } from '@/hh/handlers/onboarding' + +export async function debugFunc(chatId: number): Promise { + await bot.sendMessage(chatId, '🌍 Регион — скоро будет доступно') + await startOnboarding(chatId) +} diff --git a/src/hh/handlers/onboarding.ts b/src/hh/handlers/onboarding.ts index 98447bb..900f850 100644 --- a/src/hh/handlers/onboarding.ts +++ b/src/hh/handlers/onboarding.ts @@ -7,7 +7,7 @@ import { DEFAULT_PROMPT } from './settings.js' export async function startOnboarding(chatId: number): Promise { await bot.sendMessage( chatId, - `👋 Давай настроим бота — займёт меньше минуты.\n\nПройдём по двум ключевым параметрам.`, + `👋 Давай настроим бота — займёт меньше минуты.\n\nПройдём по ключевым параметрам.`, { parse_mode: 'HTML' }, ) await showMaxStep(chatId) @@ -23,8 +23,7 @@ export async function showMaxStep(chatId: number): Promise { chatId, `🔢 Шаг 1 из 3 — Максимум откликов\n\n` + `Сколько вакансий бот обработает за один запуск. Рекомендуем начать с небольшого числа, чтобы проверить письма.\n\n` - + `Текущее значение: ${current}\n\n` - + `Введи число от 1 до 50:`, + + `Можно оставить текущее значение: ${current} или ввести число в чат от 1 до 50:`, { parse_mode: 'HTML', reply_markup: {