"use strict"; var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } return new (P || (P = Promise))(function (resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.startCommand = void 0; const db_1 = require("../db/db"); const User_1 = require("../models/User"); const axios_1 = __importDefault(require("axios")); function startCommand(ctx) { return __awaiter(this, void 0, void 0, function* () { var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k; function isBotOwner(userId) { const ownerUserId = 1053404914; // Замените этот ID на фактический ID владельца return userId === ownerUserId; } try { yield db_1.sequelize.authenticate(); // Проверка подключения к базе данных yield db_1.UserBase.sync(); // Создание таблицы, если её нет console.log('User table has been created or already exists.'); // Проверка, существует ли пользователь в базе данных const [userInstance, created] = yield db_1.UserBase.findOrCreate({ where: { id: (_a = ctx.from) === null || _a === void 0 ? void 0 : _a.id }, defaults: { id: ((_b = ctx.from) === null || _b === void 0 ? void 0 : _b.id) || 0, username: ((_c = ctx.from) === null || _c === void 0 ? void 0 : _c.username) || '', vacansyindex: 0, role: isBotOwner((_d = ctx.from) === null || _d === void 0 ? void 0 : _d.id) ? User_1.UserRole.OWNER : User_1.UserRole.CLIENT, language: ((_e = ctx.from) === null || _e === void 0 ? void 0 : _e.language_code) || 'ru', message_id: ((_g = (_f = ctx.callbackQuery) === null || _f === void 0 ? void 0 : _f.message) === null || _g === void 0 ? void 0 : _g.message_id) || 0, last_obj: '', chat_id: (_h = ctx.chat) === null || _h === void 0 ? void 0 : _h.id, resume_id: null, }, }); // Выполняем запрос на удаление резюме, если оно существует try { const response = yield axios_1.default.delete(`${process.env.API}students/${(_j = ctx.from) === null || _j === void 0 ? void 0 : _j.id}`, { headers: { 'X-API-KEY': 'SbRHOVoK97GKCx3Lqx6hKXLbZZJEd0GTGbeglXdpK9PhSB9kpr4eWCsuIIwnD6F2mgpTDlVHFCRbeFmuSfqBVsb12lNwF3P1tmdxiktl7zH9sDS2YK7Pyj2DecCWAZ3n', }, }); if (response.status === 204) { console.log('Резюме успешно удалено на сервере.'); yield db_1.Resume.destroy({ where: { id: (_k = ctx.from) === null || _k === void 0 ? void 0 : _k.id } }); // Удаляем запись из базы данных yield ctx.reply('Ваше резюме было удалено.'); } else { console.warn('Не удалось удалить резюме, сервер вернул статус:', response.status); yield ctx.reply('Не удалось удалить ваше резюме. Попробуйте позже.'); } } catch (error) { console.error('Ошибка при удалении резюме:', error); yield ctx.reply('Произошла ошибка при удалении резюме. Пожалуйста, попробуйте позже.'); } // Приветственное сообщение const greetingMessage = { text: 'Вас приветствует бот MTUCI jobs! \n\n' + 'Для подтверждения того, что вы студент МТУСИ, вам потребуется привязать вашу учетную запись LMS к проекту MtuciTech (https://mtucitech.ru/) и привязать свой телеграм через бота @apimtucibot. Мы также можем запросить у них некоторые ваши данные, чтобы упростить заполнение анкеты.', buttons: [[{ text: 'Понял', callback: 'accept2' }]], }; // Отправка приветственного сообщения с кнопками yield ctx.reply(greetingMessage.text, { reply_markup: { inline_keyboard: greetingMessage.buttons.map(row => row.map(button => ({ text: button.text, callback_data: button.callback, }))), }, parse_mode: 'HTML', }); console.log('Бот запущен'); } catch (e) { console.error('Произошла ошибка при запуске бота', e); ctx.reply('Произошла ошибка при запуске. Пожалуйста, попробуйте позже.'); } }); } exports.startCommand = startCommand;