Перейти к основному содержимому

Как сделать игрового бота в Telegram

· 6 мин. чтения
Йети

Возможность создания игр в Telegram появилась еще в далеком 2016 году — однако известных и успешных кейсов пока сравнительно немного, несмотря на постоянный рост количества аудитории и активное развитие мессенджера.

Давайте вместе попробуем разобраться, как, с помощью чего и, главное, зачем делать игры в Telegram с помощью ботов.

Как Telegram-боты связаны с играми

Начнем с того, что в Telegram есть встроенный веб-браузер. Вы сталкивались с ним, нажимая на кнопку Посмотреть со значком молнии слева, чтобы прочитать ту или иную статью. И именно этот браузер используется в качестве пользовательского интерфейса для игр в мессенджере. По этой причине, кстати, все Telegram-игры априори являются браузерными. Соответственно, для их написания можно использовать любые библиотеки и технологии из тех, что доступны в веб-разработке.

Image

Программный код для игр в Telegram обычно пишется на HTML5, JavaScript или CSS. Telegram-боты же, в свою очередь, становятся связующим звеном между игрой и пользователем, используя в качестве интерфейса браузер Telegram. Так, чтобы загрузить игру в мессенджер, необходимо использовать команду /newgame в \@BotFather — дальнейшее редактирование также будет проводиться через боты. Детали этого процесса обсудим чуть ниже — а пока разберемся, какие игры можно создавать в Telegram — и для чего.

Зачем создавать игры в Telegram

Глобально игры в Telegram можно разделить на две категории. Одни разрабатываются как вспомогательный инструмент или развлечение «для своих», вторые — как рыночный программный продукт для широкой аудитории.

В первом случае одной из ключевых причин выбора Telegram является тот факт, что аудитория уже «собрана» в конкретном чате или группе. И она с высокой вероятностью поучаствует в активностях, не покидая пределы приложения — грубо говоря, без необходимости «переходить по ссылкам».

Так можно:

  • Геймифицировать процесс обучения (как для детей, так и для взрослых) или корпоративные процессы
  • Запустить активность для аудитории конкретного бренда или участников одного тематического чата
  • Просто разнообразить дружеское общение новым способом совместного времяпровождения
  • И не только

Ну а при работе с широкой аудиторией проще пригласить игроков в знакомый мессенджер, в котором у них уже есть аккаунт, чем заставлять создавать логины на сторонних лендингах.

Наконец, согласно статистике, в 2024 году Telegram входит втоп-5 самых популярных по среднесуточному охвату ресурсов среди российской аудитории — вместе с тем его интерфейс становится все более привычным и комфортным для пользователей.

Преимущества и недостатки игр в мессенджере

  • Максимально быстрый и простой онбординг. Не нужно переходить по ссылкам на внешние ресурсы, что-то скачивать, проходить утомительную регистрацию.

  • Удобный формат для короткого отвлечения в процессе переписки. Для Telegram идеально подходят игры вроде тамагочи, такие как @toadbot. Они предполагают пребывание в игре регулярно, но на протяжении короткого промежутка времени. Пользователю не нужно переключаться между приложениями, он наверняка заглянет в игру в ожидании ответа на свое сообщение.

  • Минимальная требовательность к ресурсам. Игры в Telegram не занимают места на диске, мало весят и практически не «поедают» интернет. Кроме того, они почти всегда достаточно просты в освоении, поэтому такой формат отлично подходит для юной либо возрастной аудитории, а также для малоактивных в сети пользователей.

  • Низкие затраты на разработку. Благодаря этому можно достаточно быстро и недорого тестировать различные идеи активаций, которые затем можно будет развернуть в более масштабный проект.

Ну и, конечно, куда без «ложки дегтя». Основной недостаток игр для Telegram — ограниченный функционал и скромная графика.

Насколько сложно создать игрового бота?

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

Восемь лет назад, рассказывая пользователям о возможности сделать игру в Telegram, разработчики уверяли, что на это потребуется от трех до пяти часов. Чисто теоретически — возможно, если вы максимально задействуете Stack Overflow и GitHub. Однако нетривиальные механики и задачи потребуют более сложных решений, поэтому разработка игры может растянуться на месяцы.

На просторах Telegram можно найти много «мертвых» и недописанных игровых проектов. Такая ситуация портит репутацию Telegram-игр, но это поправимо. А сравнительно небольшая известность большинства проектов скорее играет на руку.

Если вы планируете выпустить игру для широкой аудитории, важно проверить, насколько органично идея и механика вписывается в особенности интерфейса мессенджера.

Заранее подумайте о способах продвижения и о том, где вы планируете размещать ссылку на игру. Поищите своих «близнецов» или конкурентов в специализированных Telegram-каналах с APK-файлами мобильных игр и приложений, а также в списке игр в мессенджере. Его можно вызвать командой /listgames в том же \@BotFather. Протестируйте игры, отметьте все баги, неудобства и стоящие механики.

Создание игрового бота: краткая инструкция

Подробно останавливаться на тонкостях работы с Telegram-ботами не будем. Мы уже разбирали их разработку с помощью Python+C и GrammyJS. А еще рассказывали, как создавать ботов для генерации паролей, мониторинга погоды, подготовки к собеседованиям и новогодних предсказаний. Теперь пора перейти к особенностям создания именно игровых проектов.

Порядок работы

  1. Выберите команду /newgame в @BotFather.

  2. Прочитайте и согласитесь с условиями создания ботов.

  3. «Крестный отец» скажет, что у вас нет ботов, работающих в режиме inline, так что нужно нажать /setinline и выбрать, кого из них вы «назначите» игровым.

  4. Снова пишем /newgame, выбираем название будущей игры (ограничение — 3-30 букв) и загружаем обложку (640х360 пикселей). Еще на этом этапе можно добавить демо-гифку для знакомства с игрой (не обязательно делать это сразу, можно и позже через команду /editgame).

  5. Добавляем в созданный код бота message_handler, который обрабатывает команду /start. Затем воспользуемся методом send_game, чтобы бот кидал пользователю саму игру.

  6. Наконец, отправляем код игры в бота — в качестве примера с GitHub можно взять вот этот репозиторий. Безусловно, все возможности «наполнения» игры вместить в одну статью нереально — так что ограничимся общими рекомендациями.

О чем важно помнить при создании игр в Telegram

Отсутствие статичного экрана

В Telegram интерфейс представляет собой бесконечную ленту, а потому нельзя просто «взять и перенести» готовую мобильную или браузерную игру на новую площадку. Важно предусмотреть все пользовательские сценарии внутри игры с учетом того, что ряд стандартных элементов интерфейса — например, кнопки Назад и Домой — необходимо будет адаптировать под особенности мессенджера.

Адаптивность размеров

На десктопной версии Telegram, в отличие от приложения, можно растягивать окно мессенджера до любых размеров. Здесь важно, чтобы игра могла работать со всеми разрешениями. Также можно добавить небольшие поля для того, чтобы рендеринг изображений на больших экранах не был слишком «тяжелым» и страница не грузилась слишком долго. Пользователи Telegram уже привыкли к высоким скоростям в мессенджере и могут болезненно воспринять любое торможение в процессе игры.

Векторные изображения предпочтительнее растровых

Специфических ограничений по весу изображений для игр в Telegram нет. Но все же лучше стараться не использовать слишком «тяжелую» графику.

Надежный сервер

Написать Telegram-бота с игрой — еще не все. Сейчас он находится на нашем компьютере, который, по сути, выполняет роль хоста. Как только мы его выключим, доступ к боту со стороны пользователей пропадет. Поэтому необходимо задеплоить его на облачный сервер, где бот будет работать постоянно. К счастью, большие вычислительные мощности (а значит, и большой бюджет) нам не понадобятся.

Открываем панель управления, выбираем раздел Облако ➜ Серверы и нажимаем на кнопку Создать сервер.

Image

Для большинства простых Telegram-ботов достаточно облака в минимальной конфигурации с одним vCPU, 512 МБ оперативной памяти и 5 ГБ дискового пространства на SSD. Такая конфигурация обойдется всего в 15,57 ₽/день. Впрочем, игра может оказаться более требовательной к ресурсам. Однако облачные серверы легко и быстро масштабируются, поэтому проблем с этим не возникнет.

После аренды и настройки сервера подключитесь к нему по SSH, создайте и загрузите виртуальное окружение, обновите все пакеты и протестируйте работоспособность бота.

Заключение

Игровая индустрия продолжает активно развиваться, а Telegram дает отличную возможность попробовать себя в геймдеве без большого бюджета на разработку и маркетинг.

Также это хорошая тестовая площадка для игровых концепций и механик, удобный инструмент геймификации учебных или рабочих процессов и забавное развлечение «для своих».

Наконец, игровой бот в Telegram — хороший формат pet-проекта, который поможет усовершенствовать навыки программирования, пополнит необычным пунктом портфолио или просто послужит ламповой отдушиной для тех, кто не может не кодить даже в свободное время.