Небольшая web-игра, где пользователь играет в крестики-нолики против компьютера.
При победе генерируется 5-значный промокод, показывается на экране и отправляется сообщение в Telegram-бот.
При проигрыше отправляется сообщение «Проигрыш» и показывается предложение сыграть ещё раз.
- Установите зависимости:
npm install- Создайте файл
.envв корне проекта:
TELEGRAM_BOT_TOKEN=ваш_токен_бота
TELEGRAM_CHAT_ID=ваш_chat_id
PORT=3000- Запустите сервер:
npm start- Откройте в браузере:
http://localhost:3000
- Бота можно создать через
@BotFatherи получить токенTELEGRAM_BOT_TOKEN. TELEGRAM_CHAT_IDможно взять из любого апдейта, отправленного боту, либо через сторонние инструменты.
Сообщения, которые отправляются:
- При победе игрока:
Победа! Промокод выдан: XXXXX - При проигрыше:
Проигрыш
Проект адаптирован под Vercel:
- Статические файлы лежат в
public/и отдаются как фронтенд. - API-запросы с фронта идут на
/api/telegram/event— это serverless‑функция вapi/telegram/event.js.
Шаги:
- Залейте проект на GitHub.
- Зайдите на https://vercel.com → Add New Project → выберите репозиторий.
- В настройках проекта:
- Framework Preset:
Other.
- Framework Preset:
- В разделе Environment Variables добавьте:
TELEGRAM_BOT_TOKEN=...TELEGRAM_CHAT_ID=...
- Нажмите Deploy.
Через пару минут вы получите ссылку вида:
https://<имя-проекта>.vercel.app
Эта ссылка — рабочая ссылка на игру для тестового задания.
В корне проекта:
git init
git add .
git commit -m "Initial game implementation"
git branch -M main
git remote add origin https://github.com/<your-username>/<repo-name>.git
git push -u origin mainПосле этого можно подключать репозиторий к Vercel, как описано выше.