Skip to content

Latest commit

 

History

5 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Таймер до Stranger Than Heaven — TG-бот + мини-приложение

Бот отправляет в группу кнопку, которая открывает мини-приложение: обратный отсчёт до выхода игры (15.01.2027) на фоне обложки игры, плюс случайная смешная цитата из Yakuza/Like a Dragon и Judgment при каждом открытии. Без базы данных — всё считается на лету в браузере.

Структура проекта

  • src/ — сам бот (TypeScript + grammY)
  • docs/ — статичные файлы мини-приложения (HTML/CSS/JS), без сборки. Папка называется именно docs, а не webapp, потому что GitHub Pages умеет отдавать сайт только из корня репозитория или из папки /docs — никакое другое имя папки в настройках не выбрать.

Шаг 1. Обложка игры

Положи файл обложки в docs/assets/cover.jpg (именно с таким именем).

Шаг 2. Захостить сайт (GitHub Pages)

Мини-приложению нужен публичный HTTPS-адрес. Репозиторий уже подготовлен для GitHub Pages:

  1. Запушь репозиторий на GitHub (см. команды ниже).
  2. В репозитории на GitHub: Settings → Pages.
  3. В блоке "Build and deployment" → "Source" выбери Deploy from a branch.
  4. Branch: main, папка: /docsSave.
  5. Через 1–10 минут сайт появится по адресу https://hainox.github.io/ (репозиторий теперь называется Hainox.github.io — это ровно имя пользователя, поэтому GitHub отдаёт его как корневой сайт, без пути).

Альтернатива без GitHub Pages — Vercel или Netlify: подключить репозиторий, указать docs как корень проекта, деплой автоматический.

Шаг 3. Зарегистрировать мини-приложение у @BotFather

  1. Напиши @BotFather → /newapp
  2. Выбери своего бота
  3. Укажи название, описание, картинку для превью
  4. В поле "Web App URL" вставь ссылку из шага 2
  5. BotFather выдаст короткое имя приложения — итоговая ссылка будет вида https://t.me/ТвойБот/имя_приложения

Именно эту ссылку нужно указать в .env — она открывается как мини- приложение из любого чата, включая группы (обычная кнопка web_app в сообщениях в группах Telegram не работает, только в личке с ботом).

Шаг 4. Настроить и запустить бота

npm install
cp .env.example .env

Заполни .env:

  • BOT_TOKEN — токен от @BotFather (/newbot)
  • MINI_APP_URL — ссылка из шага 3

Запуск для разработки:

npm run dev

Продакшн-сборка:

npm run build
npm start

Команды бота

Команда Описание
/start Присылает кнопку «Открыть таймер»

Про цитаты

docs/quotes.js — стартовый список из ~10 фраз. Это черновой набор: за дословную точность конкретных реплик из субсидов не ручаюсь (перевод и точные формулировки могут отличаться по регионам/версиям игр). Чтобы дополнить или поправить список — просто добавь/измени строку в массиве QUOTES, больше ничего трогать не нужно.

Про дату релиза

Хранится в docs/config.js как RELEASE_DATE_ISO в формате с явным часовым поясом (+03:00, МСК). Таймер работает корректно для любого часового пояса пользователя — конвертировать ничего не нужно, JS сам считает разницу между абсолютными моментами времени.

About

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages