Найти в Дзене

Telegram бот для игры на Scratch

Данная статья родилась в помощь родителям, которые помогают детям со школьными IT-проектами. В рамках статьи мы не будем создавать игру в Scratch, я предполагаю, что игра уже создана. Часто дети делают в Scratch не игры, а клипы, в рамках этой статьи это не важно, т.к. перечень действий для публикации в Telegram будет одинаковый, но для простоты я буду говорить об игре, т.к. в моем случае была игра. А теперь давайте превратим творение юного программиста в настоящую игру, доступную всем пользователям Telegram! Первым делом нам необходимо получить файл с расширением .sb3. Для этого в проекте Scratch нажимаем «Сохранить на свой компьютер». Преобразовать игру в веб-страницу можно разными способами. Мы применим один из самых простых способов — через онлайн-сервис TurboWarp Packager. Есть и другие сервисы, можете попробовать через них, но мне этот больше понравился. Чтобы ваша игра стала доступна в Telegram, она должна быть опубликована в интернете по ссылке с защищённым протоколом HTTPS.
Оглавление

Данная статья родилась в помощь родителям, которые помогают детям со школьными IT-проектами. В рамках статьи мы не будем создавать игру в Scratch, я предполагаю, что игра уже создана. Часто дети делают в Scratch не игры, а клипы, в рамках этой статьи это не важно, т.к. перечень действий для публикации в Telegram будет одинаковый, но для простоты я буду говорить об игре, т.к. в моем случае была игра.

А теперь давайте превратим творение юного программиста в настоящую игру, доступную всем пользователям Telegram!

Что нам понадобится

  1. Готовая игра: файл проекта Scratch в формате .sb3.
  2. TurboWarp Packager: инструмент для конвертации Scratch-проекта в компактный HTML-файл.
  3. GitVerse: платформа для бесплатного хостинга (размещения) вашей HTML-страницы с поддержкой HTTPS (обязательное требование Telegram).
  4. Telegram BotFather: официальный бот Telegram для создания и настройки наших ботов и их мини-приложений.

Шаг 1. Импортируем игру в файл

Первым делом нам необходимо получить файл с расширением .sb3.

Для этого в проекте Scratch нажимаем «Сохранить на свой компьютер».

-2

Шаг 2. Конвертируем проект Scratch 3 в HTML

Преобразовать игру в веб-страницу можно разными способами. Мы применим один из самых простых способов — через онлайн-сервис TurboWarp Packager. Есть и другие сервисы, можете попробовать через них, но мне этот больше понравился.

  • Переходим на сайт: https://packager.turbowarp.org/
  • В блоке «Select Project» прикрепляем .sb3-файл. И нажимаем Load Project.
-3
  • Перед вами откроется множество настроек. Я не буду рекомендовать какие-то конкретные, поиграйтесь с настройками, посмотрите, какие вам подходят лучше всего. Возможно, вам подойдет проект без дополнительных настроек.
  • Далее находим раздел «Environment» и выбираем Plain HTML.
-4
  • Нажмите кнопку «Package». Браузер автоматически скачает готовый HTML-файл вашей игры. Поздравляю, вы только что превратили Scratch-проект в веб-страницу!
  • Важно: Либо при сохранении файла, либо уже после переименуйте файл в "index.html".

Шаг 3. Размещаем игру на GitVerse Pages

Чтобы ваша игра стала доступна в Telegram, она должна быть опубликована в интернете по ссылке с защищённым протоколом HTTPS. Есть очень много способов это сделать. Я решил это делать через Сберовский продукт GitVerse. Вот ссылка на официальную документацию: https://gitverse.ru/docs/pages/

GitVerse — это российский аналог GitHub, который предоставляет удобный инструмент для публикации статических сайтов (помимо всего прочего).

Есть 2 варианта публикации на GitVerse Pages: простой и сложный.

Если ваш HTML-файл получился размером до 50 Мб, то вам подойдет простой вариант, если больше (как у меня), то по сложному пути пойдем. Я покажу оба варианта.

Независимо от размера html файла нужно сделать две вещи:

  1. Регистрация: Если у вас ещё нет аккаунта, зарегистрируйтесь на сайте GitVerse.ru (процесс стандартный, описывать его не буду)
  2. Создание репозитория:

Нажимаем плюсик и выбираем пункт Новый репозиторий

-5

Называем его, например: scratch_game.

Можем указать что-то в описании, например: Scratch Игра.

Репозиторий обязательно должен быть публичным.

И добавляем README файл

-6

Нажимаем «Создать репозиторий».

Создастся репозиторий. И если html-файл менее 50 Мб, то находим в правой части репозитория кнопку «Файл» и выбираем пункт «Загрузить файл».

-7

В открывшуюся форму перетаскиваем файл, нажимаем «Сохранить» и в новом окне еще раз нажимаем «Сохранить».

-8

Если HTML-файл более 50 Мб, вариант выше не подойдет. Можно разными путями пойти, я предлагаю путь без установки лишних программ на компьютер. В правой части проекта находим кнопку GigaIDE Cloud и нажимаем Создать рабочее пространство.

-9

Если вы ранее не создавали такие пространства, вам точно нужно обратиться к документации, тут подробно описан процесс, предшествующий тому, что я сейчас показываю на скриншотах: https://gitverse.ru/docs/gigaide-cloud-uc/.

После нажатия на кнопку Создать, появится окно настройки GigaIDE Cloud, соглашаемся с тем, что предлагается по умолчанию. Нажимаем Запустить.

-10

Загрузится облачное рабочее пространство. Вам необходимо ваш index.html файл перетащить в область Проводник.

Потом выбрать значок под стрелочкой №2.

-11

Пишем комментарий: «Добавлена игра».

Нажимаем на кнопку «Фиксация» и соглашаемся с предупреждениями.

-12

Теперь нажимаем на Синхронизировать изменения и опять соглашаемся с предупреждениями.

-13

Закрываем вкладку браузера, нам больше не нужно это рабочее пространство. Оно само удалится через несколько дней.

Возвращаемся в проект на GitVerse. Должны видеть вот такую картину.

-14

Это было описание простого и сложного пути загрузки файла.

Теперь, после того как файл загрузили, надо включить Pages.

Переходим в «Настройки» репозитория.

-15

В левом меню выбираем раздел «Страницы».

-16

Включаем функциональность тумблером (переключателем).

В выпадающем списке «Ветка» выбираем master.

Нажимаем «Сохранить».

Система автоматически запустит сборку и публикацию вашего сайта.

-17

Через пару минут игра будет доступна по адресу:
https://
<ваш-логин>.gitverse.site/<название-репозитория>/
Например:
https://pytechnotes.gitverse.site/lp

Обязательно проверьте, что страница открывается и игра работает.

Процесс публикации можно отследить во вкладке CI/CD. После получения двух зеленых галочек слева сайт будет опубликован.

-18

Шаг 4: Создаём бота и настраиваем Telegram Mini App

Осталось создать бота и привязать к нему игру.

В Telegram находим официального бота @BotFather.

-19

В диалоге с ботом отправляем команду /newbot.

Следуем инструкциям бота:

  • задаём имя бота (например, «AlinaQuizLittlePrince»);
  • задаём уникальный username (например, «AlinaQuizLittlePrinceBot»).
-20

Теперь создаем из бота Mini App. В диалоге с @BotFather отправляем команду /mybots и выбираем из списка только что созданного бота.

Выбираем Bot Settings.

-21

Выбираем Configure Mini App

-22

Нажимаем Enable Mini App

Вставьте ссылку на игру, полученную на предыдущем шаге

-23

На этом всё, но мы еще добавим кнопку для удобства.

Нажимаем Back to Bot -> Bot Settings -> Menu Button -> Configure menu button.

Еще раз передаем ссылку на игру и указываем название кнопки: «Игра».

-24

Готово!

Шаг 5. Финальный аккорд

Находим бота по username (в моем случае это @AlinaQuizLittlePrinceBot).

Запускаем бота кнопкой «Старт» и нажимаем кнопку «Играть».

Scratch-игра откроется прямо в Telegram!

-25

Всем удачи!)