mirror of
https://github.com/hempyhemp/hh-auto-reply.git
synced 2026-06-08 18:04:57 +00:00
🚀 feat(bot-commands): Добавлена функция отладки для региона.
All checks were successful
Deploy / deploy (push) Successful in 49s
All checks were successful
Deploy / deploy (push) Successful in 49s
This commit is contained in:
@@ -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
7
src/hh/handlers/debug.ts
Normal 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)
|
||||||
|
}
|
||||||
@@ -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\nПройдём по двум ключевым параметрам.`,
|
`👋 <b>Давай настроим бота</b> — займёт меньше минуты.\n\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: {
|
||||||
|
|||||||
Reference in New Issue
Block a user