🚀 feat(bot-commands): Добавлена функция отладки для региона.
All checks were successful
Deploy / deploy (push) Successful in 49s

This commit is contained in:
Oscar
2026-06-01 11:22:51 +03:00
parent d883b17bd1
commit ed87b2c642
3 changed files with 20 additions and 12 deletions

View File

@@ -1,13 +1,14 @@
import bot from '@bot' import bot from '@bot'
import prisma from '@prisma' 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 { debugFunc } from '@/hh/handlers/debug'
import { getState } from './state.js'
import { doLogin, handleLogin } from './handlers/auth.js'
import { handleApply } from './handlers/apply.js' 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 { handleMyResume, handleResumeList, handleResumePick } from './handlers/resume.js'
import { DEFAULT_PROMPT, handleAutoToggle, handleMax, handlePrompt, handleQuery } from './handlers/settings.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<void> type MsgHandler = (chatId: number) => Promise<void>
type CallbackHandler = (chatId: number, messageId: number) => Promise<void> type CallbackHandler = (chatId: number, messageId: number) => Promise<void>
@@ -23,10 +24,11 @@ const MESSAGE_HANDLERS: Partial<Record<string, MsgHandler>> = {
[BTN.RESUME_LIST]: handleResumeList, [BTN.RESUME_LIST]: handleResumeList,
[BTN.MY_RESUME]: handleMyResume, [BTN.MY_RESUME]: handleMyResume,
[BTN.SKIPPED]: handleSkipped, [BTN.SKIPPED]: handleSkipped,
[BTN.SETTINGS]: async chatId => { await bot.sendMessage(chatId, '⚙️ Настройки:', { reply_markup: SETTINGS_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.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.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.BACK]: async (chatId) => { await bot.sendMessage(chatId, '🤖 HH Auto-Apply', { reply_markup: MAIN_REPLY_KEYBOARD }) },
[BTN.REGION]: debugFunc,
} }
const CALLBACK_HANDLERS: Record<string, CallbackHandler> = { const CALLBACK_HANDLERS: Record<string, CallbackHandler> = {

7
src/hh/handlers/debug.ts Normal file
View File

@@ -0,0 +1,7 @@
import bot from '@bot'
import { startOnboarding } from '@/hh/handlers/onboarding'
export async function debugFunc(chatId: number): Promise<void> {
await bot.sendMessage(chatId, '🌍 Регион — скоро будет доступно')
await startOnboarding(chatId)
}

View File

@@ -7,7 +7,7 @@ import { DEFAULT_PROMPT } from './settings.js'
export async function startOnboarding(chatId: number): Promise<void> { export async function startOnboarding(chatId: number): Promise<void> {
await bot.sendMessage( await bot.sendMessage(
chatId, chatId,
`👋 <b>Давай настроим бота</b> — займёт меньше минуты.\n\ройдём по двум ключевым параметрам.`, `👋 <b>Давай настроим бота</b> — займёт меньше минуты.\n\ройдём по ключевым параметрам.`,
{ parse_mode: 'HTML' }, { parse_mode: 'HTML' },
) )
await showMaxStep(chatId) await showMaxStep(chatId)
@@ -23,8 +23,7 @@ export async function showMaxStep(chatId: number): Promise<void> {
chatId, chatId,
`🔢 <b>Шаг 1 из 3 — Максимум откликов</b>\n\n` `🔢 <b>Шаг 1 из 3 — Максимум откликов</b>\n\n`
+ `Сколько вакансий бот обработает за один запуск. Рекомендуем начать с небольшого числа, чтобы проверить письма.\n\n` + `Сколько вакансий бот обработает за один запуск. Рекомендуем начать с небольшого числа, чтобы проверить письма.\n\n`
+ `Текущее значение: <b>${current}</b>\n\n` + `Можно оставить текущее значение: <b>${current}</b> или ввести число в чат от 1 до 50:`,
+ `Введи число от 1 до 50:`,
{ {
parse_mode: 'HTML', parse_mode: 'HTML',
reply_markup: { reply_markup: {