Этот Telegram бот разработан для помощи в подготовке к собеседованиям на позицию Frontend разработчика. Бот предлагает викторины по различным категориям, таким как HTML, CSS, JavaScript и React, и предоставляет рейтинговый режим для оценки навыков пользователя.
- Старт: Пользователь начинает взаимодействие с ботом, используя команду
/start
. Бот приветствует пользователя и предлагает выбрать категорию вопросов или включить рейтинговый режим. - Викторины: Пользователь выбирает одну из категорий (HTML, CSS, JavaScript, React) и отвечает на вопросы. После каждого ответа бот сообщает, правильный ли ответ, и предлагает следующий вопрос.
- Рейтинговый режим: Пользователь отвечает на вопросы из всех категорий до первой ошибки. Количество правильных ответов фиксируется как очки, которые сохраняются в таблице лидеров.
- Таблица лидеров: Пользователь может посмотреть топ-10 игроков, набравших наибольшее количество очков в рейтинговом режиме.
- Профиль: Команда
/profile
позволяет пользователю просмотреть информацию о количестве правильных ответов в каждой категории, а также последний результат в рейтинговом режиме.
- Node.js: Серверная платформа для выполнения JavaScript-кода.
- grammy: Модуль для создания Telegram ботов.
- sqlite: Встраиваемая база данных для хранения результатов пользователей.
- date-fns: Библиотека для форматирования дат и времени.
- dotenv: Модуль для загрузки переменных окружения из
.env
файла.
index.js
- Главный файл с логикой бота.questions/
- Папка с файлами вопросов по HTML, CSS, JavaScript и React.leaderboard.db
- Файл базы данных SQLite для хранения таблицы лидеров.
Обзор возможностей бота и инструкция по настройке - Смотреть на YouTube
Опробовать бота можно в Telegram по ссылке - @Tehnomaniak_trainer_bot
Видео-гайд по деплою Telegram бота на сервер - Смотреть на YouTube
- Установим Git и обновим компоненты системы
sudo apt update
sudo apt install git
- Клонируем репозиторий с ботом на сервер:
git clone https://github.com/FilimonovAlexey/tech-interview-trainer.git
- Переходим в папку проекта:
cd tech-interview-trainer
- Устанавливаем Node.js и пакетный менеджер npm
sudo apt install nodejs
sudo apt install npm
- Обновим Node js и npm, после выполняем перезапуск сервера
sudo npm install -g n
sudo n stable
- Устанавливаем все зависимости
cd tech-interview-trainer
npm i
- Создаем глобальную переменную
nano .env
- Создаем внутри файлов .env две переменные
BOT_API_KEY=''
ADMIN_ID=''
- Устанавливаем pm2 для запуска бота
npm i pm2 -g
- Запуск бота на сервере
pm2 start index.js