Как быстро создать Telegram-бота в 2023-м году — инструкция для новичков
Софт
Автор Дмитрий Суцилов На чтение 4 мин Просмотров 5.9к. Обновлено 04.03.2023
Бот в телеграм — штука полезная, а главное доступная. Их создают для различных целей, но новичкам чаще всего нужны следующие:
- Бот службы-поддержки.
- Отложенный постинг и оформление постов на каналах.
- Фидбек-боты (дабы не забивать ленту чатами с клиентами).
В этой статье я расскажу о том, как можно создать таких ботов быстро и без навыков программирования. На это у тебя уйдет не более 5 минут.
Содержание
- Создаем токен в BotFather
- Как кастомизировать бота
- №1. Создаем бота обратной связи
- №2. Делаем бота для выкладки и оформления постов
- №3. Создаем бота техподдержку с искусственным интеллектом
- Итоги
Создаем токен в BotFather
Это общий шаг при создании любого бота как в интерфейсе телеграм, так и при помощи языков программирования. Ключ нам понадобится для расширения возможностей пустого бота через, господи, прости меня за тавтологию, других ботов и сервисы.
Как получить токен:
- Переходим сюда
- Нажимаем “Запустить” и в полученном сообщении выбираем “/newbot”.
После чего тебе нужно ввести имя бота (1) и username (2), которые будут отображаться здесь:

Далее BotFather выдаст тебе уникальный токен, который ты можешь использовать для улучшения своего бота (он выделен голубым цветом).
Совет: если хочешь получать халявных клиентов из поисковика телеграм, то укажи в username или имени бота популярное ключевое слово своей ниши.
Как кастомизировать бота
Чтобы изменить бота нажми на [/], далее ткни на /mybots и в появившемся меню выбери своего бота. После чего выпадет ещё одно меню, тут нам нужна кнопка Edit Bot, которая откроет следующие функции:
- Edit Name — изменить имя бота (не путать с username)
- Edit About — добавить описание бота, которое будет отображаться в разделе с аватаркой и в ссылке на бота.
- Edit Commands — сюда можно добавить команды, но здесь уже понадобятся навыки программирования.
- Edit Description — добавить описание, которое будет показываться сразу после открытия бота.
- Edit Botpic — установить аватарку на бота.
С тем как запилить фундамент бота на BotFather и украсить его мы разобрались, теперь перейдем к непосредственному созданию самих ботов.
№1. Создаем бота обратной связи
Такой тип ботов нужен прежде всего тем, кто не хочет забивать свою ленту лишними чатами.
Создаются они достаточно быстро:
- Переходим в Livegram.
- Тыкаем на кнопку /addbot.
- Копируем наш токен бота из BotFather и пересылаем в Livegram.
- Готово.
Этот бот будет пересылать тебе все обращения в виде реплеев, если захочешь делегировать эту задачу на кого-нибудь другого — просто закинь бота в групповой чат и он будет дублировать сообщения автоматически.
№2. Делаем бота для выкладки и оформления постов
Все владельцы каналов в телеграм используют Controller Bot чтобы форматировать свои посты, добавлять в них картинки, реакции и настраивать отложенный постинг.
Инструкция по созданию бота:
- Переходим в Controller Bot.
- Нажимаем кнопку /addchannel чтобы добавить канал.
- Пересылаем токен бота для подключения его к системе.
- Добавляем своего бота в администраторы канала через username.
- Пересылаем любое сообщение из канала.
- Вуаля. Готово.
Теперь твоему боту доступны все функции Controller Bot.
№3. Создаем бота техподдержку с искусственным интеллектом
Тут будет немного посложнее, но результат превзойдет все ожидания. Бот-техподдержка нужен владельцам онлайн-магазинов и другим предпринимателям, которые часто сталкиваются с однотипными вопросами и не хотят тратить на это свое время.
Инструкция:
Переходим на сайт платформы Dialog Flow, регистрируемся и тыкаем на кнопку “+ Create Agent”.

В это поле вводим имя агента, а в разделе Default Language указываем русский дабы бот мог его понимать и общаться на нем.

Жмякаем на кнопку Create и переходим в раздел Integrations, пролистываем вниз и находим Telegram.

Нажимаем на кнопку и добавляем токен бота из BotFather в специальное поле. После чего нажимаем кнопку Start.

Теперь переходим в раздел Intents, нажимаем на синюю кнопку Create Intent и добавляем Training Phrases (фразы, которые будут заставлять бота пересылать те или иные ответы) и Responses (те самые ответы на Training Phrases).
Если объяснять совсем просто, то в раздел с Training Phrases нужно добавить возможные вопросы пользователей, а в раздел с Responses — ответы на них. Под каждую проблему пользователя нужно создавать отдельный Intent.

Советую подробно изучить документацию чтобы использовать все преимущества платформы Dialog Flow и создавать функциональных ботов.
Итоги
Сегодня я рассказал о том, как с нуля создать 3 основных телеграм бота, которые чаще всего используются предпринимателями и контент-мейкерами.
Если тебе понравилась статья, то не забудь отправить её другу, пусть и у него будет свой бот.
Как создать игру в Телеграме
Игры в Телеграме появились в 2016 году. Они представлены как HTML5 и чат-боты. В них можно играть самому с собой, с одним собеседником в переписке или с несколькими людьми в чате, открытом или приватном. Это игры с разнообразной графикой и звуком. Чтобы разработать такую игру, нужно от 3 часов до нескольких месяцев, в зависимости от планов и задуманного масштаба.
Разберем, какие игры в целом позволяет создавать Телеграм, что в тренде, какие технологии используются, особенности графики, как продвигать такие игры. Также ознакомимся с несколькими наглядными кейсами разработчиков.
Больше об арбитраже трафика и в целом о Партнеркине можно узнать в нашем основном телеграм-канале, а если хочется узнать больше о различных приложениях и принципах работы с ними, переходите по этой ссылке.

Какие игры можно создавать в Телеграме
Можно создавать не только простые, но и сложные игры. Простые HTML-5 игры похожи на игры в ICQ вроде War Sheep, Zoopaloola, Rock Paper Scissors. Их не нужно скачивать и отдельно устанавливать на телефон. Возможно играть прямо в браузере мессенджера, например в десктопной версии Телеграма, на iPhone новее 4+, Android 4,4+.

Преимущества простых игр: низкий порог входа как для разработчика, так и для игрока. Разработать такую игру может человек с нулевыми техническими навыками. Цель игры с самой простой механикой — набрать больше очков, выиграть у других людей. Для каждой группы игроков составляется турнирная таблица. Когда кто-то начинает выбиваться в победители, остальные получают уведомления об этом.
Также возможности Телеграм позволяют разработать сложный многоуровневый 3D-шутер, масштабную ролевую игру в стиле фэнтези или постапокалипсиса, крупную стратегию в реальном времени. Если требуется игра, выполняющая широкий круг задач, с продвинутым геймплеем и механикой, скорее всего будет нужна команда и более мощное сложное оборудование.
Игровая платформа ТГ позволяет создавать игры различного масштаба. Есть те, которые весят 1 килобайт, а те, что весят более 1 Гб. Игры, спроектированные на платформе Телеграма, не занимают места на устройстве. Они загружаются по требованию, работают как веб-страницы в браузере.
Рынок Телеграм-игр: что в тренде
Создать игру может любой человек — Телеграм предоставляет для этого ресурсы. Для разработки такой простой игры достаточно несколько часов. Примеры: игра MathBattle была создана за 3 часа, Corsairs — за 5 часов, включая разработку, графику, музыку.
Чтобы найти другие примеры, можно воспользоваться ботом Gamee. Основные жанры — стратегии, RPG, баттлеры, интерактивные квесты, многопользовательские текстовые игры или MUD — Multi User Dungeon.

Разновидности популярных игр:
- Логические мини-игры, включая карточные, интеллектуальные. StrawberryLogicBot, M0n0Bot, PokerBot, ruassoc_bot, krestikiBot. В Телеграме можно сыграть в Мафию, кости, покер, крестики-нолики, слова с ботом или с друзьями.
- Текстовые игры. Они реализуются с помощью переписки. Questgamebot, viselkaBot, BastionSiegeBot, ChatWarsBot, EverlastingSummerBot, villagegamebot, WastelandWarsBot (про эту игру кейс далее). Механика таких игр может включать в себя жанры фэнтези или постапокалипсиса, симулятор средневековых войн, квесты, чаты, кланы, визуальную новеллу с интерактивными вариантами развития сюжета.
- Викторины и квизы. Pandaquizbot, QuizariumBot, natgeowild2. Такие игры включают десятки тысяч вопросов разной сложности, игровой чат и даже возможность получения дополнительного дохода. Например, в natgeowild2 нужно быстро успевать отвечать на вопросы и заработать реальные деньги за выигрыш. С помощью этих ботов можно прокачаться в разных областях знаний: география, история, музыка, спорт, биология, точные науки, литература.

- Гонки. F1 Racer, Moto FX, Beach Racer. Механика представляет собой симулятор гонок на разных видах транспорта, нужно обгонять соперников, быстрее добраться до финиша.
- Релакс. Color Hit, Disco Ball, Mars Rover, Paint.IO, Sunshine Solitare. Игры для медитации, чиллаута, основное назначение — дать пользователю возможность отдохнуть, расслабиться, разгрузить мозг.
- Экшн. Tube Runner, Gravity Ninja, Gateway, Pixel Dungeon, ATARI Asteroids. Игры, которые требуют от пользователя высокой скорости реакции. Многие из них имеют достаточно продвинутый сложный геймплей.
- Аркады. Space Traveler, Geometry Run 3D, Neon Blaster, Karate Kido. Похожи по механике на логические и экшн-игры, предполагают активное выполнение разных действий. Например, перепрыгивания с одной плиты на другую.
- Спорт. Penalty Shooter, Keep it UP, Football Star, Doozie Dunks, Pocket World Cup. Это симуляторы различных спортивных игр, например футбол, хоккей.
- Быстрые. Skipper, Crazy Cat, Little Plane, Ding Dong, Spiky Fish. В игре нужна высокая скорость реакции, персонаж передвигается слишком быстро.
- Сумасшедшие, Crazy. Tube Runner, Kung Fu Inc., Paintball Pandas, Qubo. Такой жанр выделен отдельно в каталоге игр Телеграм Gamee, обозначает игры с необычным эпатажным сюжетом и нестандартной механикой.
- Паззлы. 99 Blocks, 1+2=3, Ten 2 One, Kingdoms of 2048, Bratz Pop, Tents and Trees. Относятся к подвиду логических игр.
Кейс Максима Газизова: создание MMORPG — аналога Fallout
Кейс доказывает востребованность Телеграм-игр. Разработчик мобильных приложений Максим Газизов искал идею для игры и создал комплексную survival-MMORPG Wasteland Wars в формате бота для Telegram — t.me/WastelandWarsBot. В своем кейсе он подчеркивает, что на идею повлиял растущий тренд развития Телеграма как мессенджера. В Телеграме есть возможность создать игру и сразу получить для нее аудиторию.
Игры в Телеграме в схожем жанре постапокалипсиса востребованы у людей 18-50 лет, разного социального статуса — то есть у платежеспособной взрослой аудитории. Максим отмечает, что некоторые игроки проводят в игре-боте 16-18 часов в день.

Механика игры основана на текстовом формате. Чтобы создать игру, нужно только писать; нет необходимости делать сложную графику, звук. В игре Максима есть сюжетные квесты, лут, торговля, альянсы, битвы, NPC, рейды на боссов, наземный и подземный открытый мир. При создании Максим делал акцент на максимально простой интерфейс для пользователя, качественный UI/UX, буквально выверял каждую кнопку.

Максим периодически делает обновления. Например, это введение PvP-зоны для битв 1х1, добавление PvP для массовой битвы разных игроков из разных банд, расширение функциональности банд, возможности улучшить оружие и броню.
Результаты: В игру играло 500-1 000 человек в сутки. Средний суточный онлайн зависел от игровых событий, запланированных на этот день, праздников, выходных, поэтому менялся каждый день.
Реализована монетизация. За реальные деньги можно купить игровую валюту, за которую можно сменить ник, фракцию или на короткое время ускорить передвижение по Пустоши. Сколько было заработано за время существования проекта, автор кейса не дает такую информацию.
Как игра и геймплей выглядят для пользователя
Пользователь переходит в каталог @Gamee. В открывшемся окне бот предложит выбрать тип или жанр игры. Пользователь может выбрать, с кем ему играть — самому с собой (с ботом-NPC), с друзьями, либо с неизвестными противниками из числа пользователей Телеграм.
Если пользователь хочет сыграть с друзьями, он нажимает на With Friends и выбирает друга из списка контактов. Этому другу бот присылает ссылку-приглашение, друг переходит и участвует в игре. Игру можно остановить в любой момент, продолжить позднее — действует сохранение. Пользователь может управлять своими действиями в игре с помощью кнопок в боте.

Преимущества Телеграм-игр для пользователя:
- игра не занимает места на телефоне, не перегружает оперативную память;
- вашему другу-соигроку не нужно добавлять себе бота;
- подходящую игру всегда легко найти, например с помощью ключевого слова в поиске;
- пользователь может скачать игру из Телеграма себе на устройство или ПК.
Один из несущественных минусов — запуск происходит через облако, возможны зависания на несколько секунд.
Для чего создавать игру в Телеграм и как монетизировать
Условия Телеграм запрещают напрямую монетизировать игры, оставлять в них ссылки на сторонние ресурсы и сайты. Но игрового бота можно применять в рекламных, маркетинговых, мотивационных целях:
- Корпоративное обучение, геймификация процесса. Например, когда сотруднику нужно пройти викторину, квиз на полученные знания.
- Нестандартный подарок. Создать игру, индивидуально предназначенную для конкретного человека.
- Рекламный проект. Создать тематическую игру, где клиенты могут выиграть приз.
- Монетизация с помощью внедрения функционала магазина и ссылки на платежный кабинет сайта. Например, внутриигровой магазин реализован в Happy Farmer.

Можно интегрировать платежную систему через страницу на своем сайте. Нужно иметь в виду, что игрок будет уходить в браузер и не всегда сможет произвести оплату.
Анализ конкурентов и поиск идей
Анализ конкурентов поможет сэкономит время, даст понимание, что работает, а что нет. Как проводить анализ конкурентов и поиск идей перед разработкой:
- выбрать наиболее подходящие проекты из ниши: другие Телеграм-игры, сервисы, приложения;
- тестировать каждый такой сервис и проект, выписывать в отдельную таблицу лучшие практики;
- смотреть на ключевые механики и их реализацию;
- посмотреть показатели сайта или приложения через сервисы аналитики, например с помощью SimilarWeb.
После того, как идеи собраны, их можно протестировать с помощью интервью с потенциальной аудиторией. Таких людей-респондентов для выборки можно находить через тематические каналы и группы в Телеграме.
Создавали бота или игру в Телеграме?
Упрощенное создание игры через бота @BotFather
Чтобы разработать игру, нужно воспользоваться ботом @BotFather. Этапы работы:
- разработка искусственного интеллекта, который будет отображать действия и показывать визуал;
- продумывание механики;
- написание программной оболочки;
- продумывание сюжета, если он необходим;
- регистрация бота и конструирование интерфейса.
После создания игру можно отправлять в группы, чаты — также как обычное сообщение. Также её можно отправить в inline-режиме.
Под сообщением с игрой будет кнопка inline, которая начинает игру. Если пользователь решает поиграть, жмет на кнопку, боту приходит call-back с информацией о выбранной игре. Разработчик отвечает уникальным url, который сформирован для этого конкретного игрока. Приложение открывает игру у игрока в браузере.

Если кнопка не будет добавлена разработчиком, система сама добавит ее автоматически. Также кроме кнопки запуска, можно добавлять другие кнопки, например с правилами, ссылками на официальный ТГ-канал.
Сообщение с игрой может содержать турнирную таблицу для игроков в конкретном чате. Когда выявляется победитель, другие люди получают уведомления, в турнирной таблице тоже все меняется автоматически. Можно запрашивать данные о рейтинге игроков и создавать таблицу прямо в игре.

В интерфейсе игры система предусматривает постоянную кнопку «Поделиться» вверху экрана. Разработчик может настроить другие кнопки на HTML-странице. Нажав на них, можно открыть желаемый чат и отправить туда сообщение с количеством набранных очков.
Если в URL используется хэш, то Telegram может к нему что-то добавить от себя. Названия добавленных параметров будет начинаться с tg. Чтобы достать собственные параметры из адреса, можно воспользоваться объектом TelegramGameProxy.initParams.
Дизайн Телеграм-игр
Дизайн похож на классические HTML5-игры. Важно учитывать вес и размер изображений: фона, игровых элементов. Если они будут тяжелыми, это может негативно сказаться на скорости игры. Лучше выбирать векторные изображения, а не растровые.
Ограничения по весу нигде не прописаны и определяются экспериментальным путем. Если в процессе тестов выяснилось, что игра хорошо загружается в обычном браузере, она с большой вероятностью будет также хорошо загружаться в браузере Telegram.
Окно Телеграма может растягиваться благодаря автомасштабированию по ширине. Игра должна быть адаптивной, подходить под любые разрешения. Для больших окон можно добавлять небольшие поля, из-за того что рендеринг изображений на больших экранах отнимает много ресурсов. Экраны и раскадровки анимаций можно собрать в Figma или обратиться за помощью к опытным фрилансерам, оставив свой заказ на на нашей Бирже или найти походящего исполнителя самостоятельно.
В игре Happy Farmer поля фермы динамически генерируются под каждого игрока:

Возможности коммуникации с игроками ограничены. Можно передавать сообщения игрового мира с помощью HTML-разметки. Получить ответ игрока затруднительно. Чтобы отправить такое сообщение, пользователь должен создать команду через знак «/», а это умеют не все. В сообщение может быть встроенная клавиатура, но добавить ее достаточно сложно для разработчика. Если игра должна быть локализована на много языков и работать на всех типах устройств — сложностей прибавляется.
На клавиатуре могут отображаться символы из набора UTF-16. При создании любой игры все основные игровые предметы должны помещаться в этот набор. Игроку такая стандартизация удобна: алмаз в одной игре — премиум-валюта, значит, в другой — тоже что-то ценное.
Преимущества текстовых игр без графики
Текстовая направленность имеет плюс для разработчиков, которые не любят «заморачиваться» с красивой графикой. Текстовые игры создавать проще, расширять за счет текста мир. Помимо локализации понадобится качественная адаптация при выходе на разные рынки.

Преимущество текстовых игр:
- высокая скорость разработки;
- нет ограничений по игровому миру;
- можно добавлять в игру ситуации любых масштабов;
- возможна любая степень проработки игрового мира;
- не нужно мощное оборудование для разработки.
Есть опыт разработки текстовых игр?
Особенности разработки
Для создания Телеграм-игр подойдут любые технологии и библиотеки, которые доступны в браузере: JavaScript, WebGL-библиотеки, 3D-графика. Например, движок Pixi.js удобен для игр, где используются столкновения объектов в игровой механике. Pixi.js предлагает подробную документацию, с которой разберется frontend-разработчик любого уровня.
В движениях объектов может применяться растровая графика, либо векторные анимации, например lottie-файлы, другие виды svg-анимации.
Чтобы игра интегрировалась в Телеграме, заработала в нем, нужен доступ в интернет. Также игра должна отправлять информацию об очках в API Телеграма. Поэтому нужен веб-сервер, который будет получать сообщения из Телеграм, отдавать игру с отмеченным идентификатором игрока, принимать от Frontend очки и отправлять их в API.
В конце игры очки игрока должны идти с frontend на backend. Из игры нужно отправлять запросы с подставленными очками и идентификатором пользователя. Этот идентификатор передается в ссылке на саму игру. Его нужно сохранить на время, чтобы вернуть обратно с набранным количеством очков. Для этого пишется код в Frontend.
Понадобится сервер, с которого игроки будут подгружать игру и где будет размещаться Телеграм-бот. Также будет нужен SSL-сертификат, посколько Телеграм работает с играми по HTTPS-протоколу для безопасного общения. Такой сертификат, привязанный к домену или поддомену, можно получить у Let’s Encrypt.
Сервера для разработки игр в Телеграм
Для игры не обязательно брать мощный сервер. Можно воспользоваться недорогим облачным вариантом, для решения небольших задач. От расположения сервера зависит скорость доступа игроков из разных городов. Например, если предполагается, что ЦА — жители России, желательно выбирать сервера, которые находятся в Москве или Санкт-Петербурге. Операционную систему можно взять Ubuntu 20.04, либо выбрать другую или свой образ ISO или виртуальной машины.
- Если это игра с простой механикой, можно выбрать фиксированную конфигурацию с возможностью оплаты части ядра. Доля vCPU будет отражать производительность сервера. Она может оказаться выше заявленного, в зависимости от нагрузки на хост. Может хватить одного ядра или 50% этого ядра. Если не будет хватать мощности, можно сменить конфигурацию сервера.
- Выбрать размер диска. Так как не предполагается хранить много файлов, для операционки и кода можно взять до 5-10 Гб.
- Выбрать 1 публичный IP, запомнить пароль от root пользователя или загрузить публичный SSH-ключ. Далее нужно создать и установить сервер.
- Когда IP-адрес сервера будет получен, к нему можно подключиться по SSH. К серверу подключается домен. В настройках DNS-хостинга нужно указать A-запись на нужный домен или поддомен, значение в виде IP-адреса нового только что созданного сервера. Если домен новый и DNS-хостинга пока нет, можно подключить бесплатный DNS на панели управления.
- Подключиться к серверу по SSH, либо через консоль, настроить ngnix — веб-сервер, который будет работать с SSL.
- Запустить ngnix, перейти в папку с конфигурацией сервера, создать файл конфигурации, открыть его в текстовом редакторе и добавить в него настройки сервера.
- Сохранить файл. Таким образом ngnix будет перенаправлять запросы к домену на 3 000 порт, по которому отвечает backend.
- Проверить, что в конфигурации нет ошибок, сгенерировать бесплатный SSL-сертификат, чтобы игра была доступна по HTTPS.
- Воспользоваться утилитой Certbot и установить игру.
- Сгенерировать сертификат. Он будет отвечать по HTTPS. Затем нужно настроить и запустить его.
Создание Телеграм-бота для игры
Чтобы создать бота, нужно запустить botfather в Телеграме, вызвать в меню команду newbot, далее по инструкциям получить токен доступа. Этот токен нужно сохранить в конфиденциальном месте, не показывать третьим лицам во избежание того, что кто-то может представиться вашим ботом. Далее потребуется включить возможность делиться игрой с друзьями через inline-запросы.

Затем нужно вызвать команду newgame и создать игру. Понадобится принять условия работы. Если нарушить эти правила — игру удалят с платформы. Запрещено:
- размещать рекламу, любые внешние ссылки;
- взимать оплату с игроков;
- использовать личные данные пользователей для рассылок, делиться ими с другими сторонними сервисами;
- устанавливать cookie в игре.
Этапы работы с ботом:
- Добавить название, описание, обложку 640х360, превью-гифку такого же размера. Гифка не является обязательной составляющей, но лучше загрузить ее, чтобы игра выглядела более привлекающей внимание.
- Настроить сервер, объединить составляющие.
- Установить систему Docker для создания контейнеров для кода. Это облегчит работу, позволит не устанавливать node.js, npm и зависимости.
- Взять из репозитория env.example, Dockerfile, index.json и package.json. Их нужно скопировать на сервер.
- Открыть env.example, подставить в него токен, ссылку на фронтенд, доступный из интернета, ID игры, который был сообщен BotFather; env.example нужно переименовать в .env (mv env.example .env).
- В Frontend-коде настроить отправку очков на нужный домен.
- Создать Docker-образ приложения и запустить приложение.
Тестирование
Провести тестирование игры можно на коллегах. Важно вычислить баги и ошибки, внести доработки. К тестированию на финальных этапах можно привлечь клиентов из целевой группы, устроив розыгрыш призов.
Тестирование должно в себя включать UX. Нужно посмотреть и проконтролировать, как игра будет отображаться на разных экранах, вертикально и горизонтально. Если игра не срабатывает на экранах определенного типа, важно предупредить игроков об этом, прислать им уведомления, чтобы не вызывать негативной реакции.
Участвовали в проекте, связанном с геймификацией в бизнесе?
Кейс Библиотеки Программиста: создание игрового Telegram-бота
Разработчики в этом кейсе решили создать игру в Телеграм, которая помогает развивать логику. Задумка была сделать игру такой, чтобы задачи закреплялись на то время. И что пока их решают, не появлялись новые, пока ответ игрока не наберет определенное количество баллов.

Сначала бот должен был давать задачи, их можно было пропускать, постоянно вызывая одну и ту же команду. Нашелся выход: сохранение текущей команды в базе: получая команду /get, бот дает задачу и сохраняет команду. Затем, перед тем как отреагировать на сообщения в чате, бот сравнивает команду, которую получил прямо сейчас, с последней командой в базе. Если они совпадают, бот никак не реагирует и вдобавок удаляет команду пользователя, чтобы она не висела в чате.
После запуска обнаружилось, что хэштеги не удобны для поиска. Задача может уйти вверх, листать до неё затруднительно и долго. Поэтому задачу бот закреплял сразу самостоятельно.
Для написания бота использовались Composer — стандарт при разработке на PHP, библиотека telegram-bot-sdk, symfony/dotenv для парсинга .env-файла. Composer позволяет скачивать сторонние библиотеки на проект и предоставляет механизм по автозагрузке классов. Вся работа с Composer происходит через консоль и в файле composer.json.

Файл app.php — точка входа в приложение, где вешается веб-хук. Это значит, что бот не будет постоянно опрашивать сервер на наличие обновлений; он их будет получать только тогда, когда они будут.
Затем нужно создать объекты всех нужных классов, проверить, в каком вы чате — приватном или супергруппе. Код можно разделить на независимые части. Настройки хранятся в файле .env, что позволяет пользователи вводить свои, и бот будет работать после создания всех нужных таблиц.
Кейс Selectel: создание игры с постройком башни из серверов
В кейсе команда Selectel создала игру, механика которой — построить башню из серверов. Цель — PR и реклама: среди клиентов-игроков проводился конкурс, те, кто построят от 100 этажей, участвуют в розыгрыше призов с мерчем.
В игре не была задействована физика, при которой пришлось бы подумать, как будут раскачиваться блоки на кране и башня. В качестве усложнения игры был добавлен летающий тиранозавр — брендовый персонаж Selectel.

Было отрисовано 3 персонажа и 3 локации. Стройка башни начиналась под землёй, затем шла в городе и после 50 блоков-этажей продолжалась в космосе. Фон был 23 000 пикселей: его пришлось разделять на 4 части, так как Android-смартфоны не справились с отрисовкой.
Для движения крана применялась растровая графика. Движение было заанимировано отдельно и вставлена уже готовая анимация. Для этого команда Selectel использовала спрайты — картинки, кадры анимации и спрайт-листы — наборы всех элементов графики. Загружалась картинка с несколькими спрайтами, это было экономичнее по ресурсам, чем грузить несколько картинок каждую отдельным файлом. В качестве сервера Selectel использовал свой вариант Shared Line.

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

Пользователи ищут игры по ключевым словам в каталогах. Например, они могут забивать в поисковую строку название игры, либо ее жанр. Также пользователи могут узнать об игре, посещая каналы с раздачами, новостями.
Примеры таких каналов:
- av_games — канал с новостями про игры, также здесь бывают раздачи, информация о скидках в сторах приложений;
- EasyAPK — канал, где можно бесплатно скачивать APK-файлы приложений для Android;
- theappbox — канал для владельцев iOS-устройств, на котором можно бесплатно устанавливать приложения;
- egs_tg — канал Epic Games Store, который еженедельно дарит одну игру.

Основные способы продвижения, которые используют разработчики:
- сарафанное радио, виральность — когда вокруг проекта создается хайп, об игре узнают лояльные и преданные представители ЦА;
- продвижение на других платформах;
- каталоги ботов, например Storebot.me, Telegrambots.info.
- обзоры и подборки в Telegram-группах, каналах, посвященных развлекательной тематике.

Другая сложность с маркетингом заключается в том, что в Телеграме трудно отслеживать статистику по пользователям, их данные. Этот мессенджер поддерживает анонимность. Даже с помощью инструментов парсинга можно собрать информацию по людям только из своих чатов и каналов, но не из чужих. Поэтому трудно проанализировать активность игроков, поведение пользователей в игре.
Но есть бот, который ведет лог взаимодействий: игра находится на сервере, любое взаимодействие игрока — команда на сервер. Другие способы получить статистику: использовать обобщенные числовые показатели, собирать обратную связь от аудитории.
Локализация и работа с аудиторией
Телеграм — международный мессенджер. Игра должна быть понятна всем пользователям. Если в планах стоит создать топовый проект, нужно задуматься о локализации минимум на 5 языков. Лучше ориентироваться не только на распространенные европейские языки вроде английского, французского, немецкого или испанского, но добавить португальский, персидский, арабский, так как на них говорит значительно большая часть населения планеты.

Можно столкнуться со сложностью в части развития проекта. Если в игре будут постоянные обновления, внедрения новых механик, важно собирать обратную связь от аудитории. Для этого потребуется игровой чат. Все пользователи разные, среди них может быть много неадекватных людей, которые пользуются анонимностью в Telegram. В итоге чатом может быть сложно управлять.
Аудиторию нужно сегментировать хотя бы по разным чатам и языкам. Это долгая работа, в результате которой можно выстроить сильное комьюнити вокруг бренда своей игры.
Кейс Dev’s Battle: MMORPG для повышения hard skill разработчиков
Идея началась с того, что команда хотела создать геймифицированный образовательный проект. По первой задумке игра должна была обучать начинающих программистов.
В течение первых 3 недель команда анализировала конкурентов, аудиторию, тренды, определялась с сеттингом. Для анализа конкурентов были рассмотрены Java Rush, LeetCode, CodeWars, Habitika, Жабабот, Mimo, Яндекс Практикум, Light Bot. Из этих проектов разработчики взяли «лучшие практики» и фишки. Смотрели на то, что мотивирует пользователей делиться контентом и приглашать друзей, с какими проблемами они сталкиваются, какие у аудитории предпочтения.
На следующем этапе, который занял примерно 5 недель, команда занималась проектированием основных механик, экранов, онбординга. Сначала механики отрисовывались в формате схем и экранов, но потом пришли к выводу, что это не удобно. У ботов и продуктов в Телеграме нет статичного экрана: экран — бесконечная лента, и подстраиваться нужно именно под нее.
Механики, которые придумала команда Dev’s Battle:
- решение задач на языки программирования;
- артефакты MMORPG: развитие персонажа, скиллы, игровая валюта, боссы, уровни прокачки;
- мультиплеерные фишки: рейтинги, ачивки, баттлы.
Онбординг — это этап, после которого пользователь принимает решение, играть или нет. Разработчики сделали онбординг в формате новеллы: пользователь должен был нативно пройти по всем шагам — создать персонаж, побиться с боссом.

На 6-15 неделе команда занималась разработкой MVP и основных механик. За 2 недели были собраны участники проекта: Middle Python Developer, опытный ментор-консультант. Использовали стек Python, Django, PostgreSQL, PyTelegrambotAPI, Nginx, grafana. Разработку вели по спринтам в Jira, первые 2-3 недели работали над базой данных.
После базы данных разработчики перешли к основным механикам, затем к онбордингу и дополнительным фишкам, которые решили запустить на стадии раннего MVP. На 10-й неделе уже была готовность к закрытому бета-тестированию, но выявилось много багов, которые устранялись в течение 5 последующих недель. Например, бесконечное количество карточек, падение крона, остановка бота, неверный расчет рейтинга.
Игра продвигалась с помощью посевов в ТГ-каналах, дополнительный PR шел через интервью с пользователями. В последующие недели разработчики внедряли новые фичи, делали расширенную аналитику, тестировали гипотезы, локализовали проект под бурж.
Результаты: 1269 зарегистрированных игроков спустя 3 недели с момента релиза. Всего на разработку и все этапы ушло 20 недель. Благодаря качественному онбордингу получилось 70% конверсии из входа в регистрацию и старт игры.
Эксперты отвечают
М Максим Газизов, разработчик мобильных приложений
В чем основные проблемы при разработке Телеграм-игр и как их можно решать?
Сложности связаны с платформой Bot API. У Telegram есть 2 системы для связи их ботов с вашим сервером: Long Polling и Webhooks. Long Polling: сервер будет с определенным интервалом опрашивать Telegram на предмет наличия новых запросов, и при наличии обрабатывать, возвращая ответ Bot API. Webhooks: сервер говорит Telegram «если у тебя появятся какие-то запросы – кидай их вот на этот адрес». Для реализации бота на Webhooks необходим постоянный IP адрес и обязательно SSL сертификат. У Long Polling есть проблема: бот начинает тормозить, постоянно перезапускаться, причиняет неудобства игрокам. Лучше делать проект на Webhooks.
Другие сложности появляются, когда проект набирет масштабы. Бот может начать «подтупливать» при получении запроса. С нагрузкой на сервер это не связано: бот упирается в лимит Bot API по количеству одновременных запросов. С этой проблемой можно справиться, написав в поддержку Телеграм, попросить увеличить лимиты. Чаще всего бот упирается в лимиты по типу запросов callback на inline-кнопки. В случае моего проекта пришлось перерабатывать интерфейс.
Третий вид проблем — в среде разработки и коде, конкретно, в Python 3 и в том, как он работает с потоками. Каждый новый поток в Python 3 создается вместе с переменными окружения, занимая большое количество памяти. В игре полно таймеров, и когда они запускались в отдельных потоках, возникала утечка памяти. По мере роста игры утечка достигла безумных масштабов, сжирая оперативную память и подкачивая оставшуюся память SSD сервера. Это было решено созданием очередей таймеров, обрабатывающихся в одном потоке для каждого типа.
Р Ростислав Бородин, Full-Stack веб-разработчик, куратор школы GeekON
Из каких этапов состоит создание текстового квеста?
Технически, телеграм бот — это программа, которая запущена на вашем компьютере и общается с серверами телеграма через интернет. Можно представить, что при регистрации бота Телеграм выделяет нам почтовый ящик, через который мы можем получать сообщения от пользователей и отправлять их им.
Чтобы создать собственного бота, сперва его надо зарегистрировать с помощью @BotFather и далее следовать его инструкциям. После того, как мы введем название бота, @BotFather сообщит нам токен — пароль к нашему почтовому ящику.
Сначала нужно создать первого бота, добавить к нему пояснение, которое объяснит пользователю, что он делает. Затем нужно настроить взаимодействие с несколькими пользователями одновременно.
Удобнее всего хранить все данные, которые привязаны к конкретному пользователю в словаре. Ключом в этом словаре будет id пользователя, а значением — произвольные данные. Нужно использовать разные переменные хранения слова, чтобы сообщения от разных пользователей не путались.
Следующий этап — добавить несколько кнопок к сообщению и реагировать на их нажатия. На финальном этапе собирается текстовый квест полностью.
Вывод
Игры в Телеграм не целесообразно рассматривать как конкурентов классических мобильных игр. Telegram-игры занимают свою отдельную нишу. Возможности ботов ограничены, не стоит ждать слишком продвинутого функционала и геймплея. В основном большинство игр направлены на то, чтобы скоротать время и создаются за 3-5 часов. Но при грамотном анализе трендов, аудитории можно создать масштабный популярный и востребованный проект.
Не факт, что на старте игры в Telegram будут приносить высокий доход. Если вы нуждаетесь в средствах, то хорошим решением станет зайти в раздел Вакансии и посмотреть предложения от работодателей.
Конструктор
ботов в Telegram

После нажатия старт у отца ботов, Вам будет предоставлен список команд, не пугайтесь все необходимые команды мы постараемся разобрать отдельно.
Первая каманда что нам нужна это /newbot
После отправки это команды оттец ботов попросит придумать имя для Вашего бота Имя может быть любое и на любом языке, это может быть даже набор смайлов, отец ботов не сильно требователен к имени, после того как мы придумаем и отправим имя отцу ботов, он попросит придумать логин для нашего бота в формате @userbot или @user_bot
Если Вы все сделали правильно отец пришлет токен бота, это будет строка из набора символов пример ‘jd7re99kru8ooki88_iuyi-6uni8ymunyb’ Наш бот зарегистрирован!
Все просто, для этого мы воспользуемся командой /setuserpic по нажатию на эту команду отец попросит выбрать бота для которого мы хотим добавить или сменить аватар список будет в нижнем меню, после попросит прислать картинку, картинку можно либо перетянуть в чат с ботом либо можно воспользоваться ярлыком скрепка и выбрать в ручную, кому как удобно.
Если формат картинки и ее размер удовлетворяют отца, в ответ он пришлет сообщениео Success! Profile photo updated. в противном случае, процедуру нужно повторить заново выбрав подходящую картинку.
Когда в конструкторе вы нажмете кнопку создать бота, первое поле которое нужно будет заполнить это токен бота
Cледующий шаг очень важный, вам нужно продумать архитектуру вашего бота, сколько будет меню и какие действия будет делать бот в ответ на ту или иную команду. Какой набор функций нужен боту и их очередность.
Когда у вас в голове или лучше на бумаге сформирована примерная архитектура можно приступать к созданию контента.
Бот сможет в ответ на команды отправлять пользователю любую информацию фото, гиф, видео, аудио, текст, опрос, форма для заполнения.
Так же бот имеет ряд встроенных функций, таких как оплата внутри бота, статистика рассылка полезной информации пользователям бота.
Модель обратной связи, когда нужно участие живого человека.
В разделе управление файлами вы просто нажимаете кнопку загрузить файл и выбираете любой файл с вашего компьютера загруженные файлы отображаются сразу справа, колличество файлов можно добавить неограниченное.
В разделе управление меню будет 2 варианта создания, нижнее меню и меню в сообщениях выбираете то что нужно вам и жмете создать, далее заполняете название меню, цифрами прописываете сетку, прописываете название и нажимаете создать меню всегда можно исправить и отредактировать.
Создать и управлять командами можно в разделе — управление командами.
При нажатии на создать команду сперва выбираете ее тип, это отправка фото, видео, текста, опроса и т.д
Придумываете для нее название, важно что бы название отображало суть команды, что бы вы не запутались при сборке, возможно команд будет 100 пример названия ‘отправка файла1 в ответ на нажитее кнопки отправить файл1’, с таким названием вы точно не запутаетесь во время сборки бота.
Когда вы нажали создать команду, выбрали тип и придумали название, появятся возможности прикрепить либо открепить ранее загруженные файлы
Когда вы выбрали тип, придумали название, появится возможность привязывать файлы и меню
Боты в Telegram, без которых вам не обойтись

Говоря простыми словами, это виртуальные помощники внутри мессенджера. Они могут выполнять различные задачи, экономя ваше время. Например, одни из них делают рассылки клиентам, а другие — подбирают кино для просмотра. Ботов бесчисленное множество. Каждый из них выполняет свой набор функций, поэтому вы всегда сможете найти программу под свои запросы. В рамках этой статьи мы расскажем вам о помощниках, которые будут полезны для администраторов сообществ. Помимо этого, вы узнаете, как создать бота самостоятельно.
Список самых полезных помощников под разные задачи
Итак, мы собрали более тридцати telegram-ботов, которые помогут вам администрировать сообщества в мессенджере. Для удобства они были разбиты на группы в зависимости от функций, которые могут выполнять.
РАБОТА С КОНТЕНТОМ

Здесь вы найдете программы, которые помогут с оформлением реакций, текста и картинок. Помимо этого вы получите крутые инструменты для отложенного постинга.
- ControllerBot. Сервис дает возможность делать отложенные посты, редактировать их, настраивать время публикации и удаления из чата. Он также позволяет оформлять публикации, а именно: форматировать текст, добавлять изображения, реакции и URL-кнопки.
- Notepost. Поможет настроить сценарий постинга. Содержит такие функции, как отключение комментариев под отдельными публикациями, репосты в другие каналы, таймер удаления и циклическая загрузка материалов. Помимо этого? инструмент дает возможность создавать шаблоны публикаций, URL-кнопок и автоподписей.
- BaslayBot. Позволяет запланировать отложенный постинг, но упор в сервисе сделан на оформление публикаций. С помощью бота вы сможете не только создать контент-план и настроить таймер публикации, но и навести порядок в медиафайлах, отредактировать альбомы, добавить необходимые кнопки и водяные знаки.
- LikeBot. Программа создана для настройки реакций к постам. С ее помощью вы сможете добавить кнопки с эмодзи и лайками.
- MarkdownBot. Если вам нужно поменять шрифт или оформление постов в синтаксисе HTML и Markdown, то воспользуйтесь этим ботом для форматирования текстов.
- PrintfBot. Помимо форматирования, позволяет добавлять кнопки-реакции и гиперссылки.
- Vote. Через этот сервис создают опросы. Они могут быть как анонимными, так и открытыми.
- VoterBiBot. Суперудобная программа для проведения розыгрышей и конкурсов. Она создает публикацию с условиями, таймером и кнопкой «Участвовать». По истечении времени автоматически публикует пост с именем победителя, а также с помощью отдельного сообщения уведомляет организатора о результатах.
Внедряйте этих ботов, чтобы улучшить контент в чате.
УПРАВЛЕНИЕ СООБЩЕСТВОМ

Администратору необходимо контролировать все, что происходит на канале или в группе. Чтобы упростить эту работу, используйте программы, которые помогут в модерации сообщений и автоматизации обратной связи.
- Combot. Сервис отправит участникам приветственные сообщения, а также ответит на частые вопросы. Помимо этого, он может удалять нежелательный контент и спам. С его помощью вы сможете настроить запрет на постинг ссылок и банить юзеров, которые будут нарушать правила сообщества.
- Notepost. Про этого многофункционального бота мы говорили в предыдущем разделе, но его можно использовать не только для работы с контентом, но и для модерации. Алгоритм программы позволяет контролировать рекламу на канале, принимать и отклонять заявки на вступление в сообщество в автоматическом режиме, отправлять приветственные сообщения новым юзерам, а также настраивать доступ для редакторов и поддерживать режим премодерации.
- Daysandbox_bot. Если вам нужно контролировать группу или канал в Telegram с большим количеством подписчиков, то этот антиспам-бот выручит. Он умеет удалять любые сообщения в течение заданного периода времени, изображения и видео, а также ссылки от пользователей, которые вступили в чат менее суток назад.
- Livegram Bot. Задача бота состоит в том, чтобы настраивать обратную связь для юзеров. С его помощью вы сможете коммуницировать с подписчиками анонимно и отвечать на их вопросы оперативнее. Программа может делать рассылку, поддерживать разные форматы сообщений, при необходимости подключать администратора к диалогу, а также сохранять контакты, историю диалогов и статистику.
- GroupButler_bot. Позволит избавиться от однотипных нетематических сообщений и забанит подписчиков, которые будут нарушать правила, заданные админом
- Boterator_bot. Его цель — отслеживать и удалять GIF, стикеры и голосовые сообщения, которые содержат мат.
- AngryModerBot. «Злой» модератор запускает голосование за бан юзера среди других участников, а может и сам кого-то заблокировать.
- Hellouserbot. Самый приветливый из всех ботов. Его задача говорить «привет» и «пока» всем пользователям.
- Toptgcmc_bot. Поможет удалить системные уведомления из чата.
Чтобы управлять сообществом было легче и эффективнее, работайте с этими ботами.
СТАТИСТИКА И АНАЛИТИКА ДАННЫХ
Для успешного продвижения канала или группы в Telegram необходимо собирать статистику и анализировать данные. Чтобы автоматизировать эту работу, используйте ботов.
- Combot. Мы говорили про эту программу в предыдущем разделе, однако, помимо перечисленных выше функций, она может быть полезной для сбора статистики. Программа даст узнать количество новых подписчиков, уровень активности и среднее число сообщений в сутки. Удобно, что данные показываются как в общем виде, так и для каждого отдельного участника.
- ControllerBot. Бот считает статистику канала по количеству участников.
- TGStat_Bot. Помощник выдает достаточно много информации касательно статистики чата. С его помощью вы можете узнать охваты постов, уровень вовлеченности, индекс цитирования, количество подписчиков и просмотров в день.
- CrosserBot. Программа оценивает активность подписчиков и длительность их жизни на канале, количество удаленных аккаунтов, а также общие данные по аудитории. Помимо этого, с его помощью можно проанализировать пересечения с другими telegram-чатами.
Рекомендуем протестировать все варианты для сбора статистики на канале и анализа данных, чтобы найти наиболее удобный инструмент для автоматизации этих задач.
ИНТЕГРАЦИЯ С ДРУГИМИ СЕРВИСАМИ

Мало кто использует «Телеграм» как основную площадку. Чаще всего канал или группа в мессенджере выступает дополнительным источником трафика. Поэтому многих пользователей интересуют инструменты, позволяющие делать интеграции с другими сервисами. Нельзя сказать, что таких ботов много, но парочка есть.
- Telegraph. Если вы любитель лонгридов, то этот помощник для вас. Он представляет собой текстовый редактор, в котором можно писать и форматировать длинные статьи. При этом читатели получают ссылку на текст, открыв которую могут просмотреть лонгрид полностью.
- Синхробот Дзена. Позволяет публиковать посты из telegram-канала прямо в Яндекс.Дзен. При этом объем поста должен быть не больше 1500 символов, не содержать видео и GIF-файлы.
- GmailBot. Сервис позволит получать письма, которые приходят к вам на электронную почту Gmail, прямо в «Телеграме». Кстати, отвечать на них можно сразу в мессенджере.
Как видите, инструментов для интеграции с другими платформами пока немного. Рекомендуем следить за обновлениями, чтобы не пропустить новых ботов.
ПОИСК ИНФОРМАЦИИ В TELEGRAM
Чтобы оставаться в тренде, необходимо следить за другими сообществами. Но как это сделать? Выход есть: используйте ботов для поиска внутри мессенджера.
- Searchee Bot. Поможет обнаружить каналы по тематике и названию.
- MotherSearch. Программа осуществляет поиск публикаций по конкретному запросу. Она работает аналогично Google. В результате вы получите перечень публикаций в отсортированном виде.
Используйте этих ботов, чтобы следить за конкурентами, оставаться в тренде и вдохновляться творчеством других людей.
ДОПОЛНИТЕЛЬНЫЕ ПОМОЩНИКИ

Выше были перечислены основные telegram-боты, созданные для автоматизации работы администраторов. Но в рамках этой статьи мы решили поделиться с вами еще парой интересных сервисов.
- Perebot. Это бот-переводчик, который, пожалуй, пригодится каждому. Ничего необычного, просто переводит текст с английского на русский и наоборот.
- CreateMeme_bot. Есть тут любители мемов? Тогда этот сервис станет вашим любимчиком! А все потому, что он умеет создавать крутые мемы.
- TopTgVoiceBot. Конвертирует текст в голосовые сообщения. Это очень актуально, так как сейчас большинство пользователей предпочитают голосовой контент.
- TGStatAlertBot. Хотите промониторить репутацию сообщества? Тогда используйте этого виртуального помощника. Он умеет отслеживать упоминания о канале, а также отправлять уведомления о репостах и упоминаниях.
- Tggrowbot. Позволяет генерировать ссылки. Фишка в том, что их можно отслеживать. Также доступна выгрузка всех данных в Excel.
Теперь у вас есть полный набор инструментов, который облегчит работу в Telegram и сделает ее более эффективной.
Как пользоваться чат-ботами?
Чтобы интегрировать ботов в работу сообщества, необходимо научиться ими пользоваться. Это несложно, потому что любой виртуальный помощник четко объясняет, что нужно делать. Поэтому первое правило — внимательно читайте, что пишет программа. Второе правило — корректно отвечайте на вопросы, которые появляются в чате. И третье — выбирайте обдуманные действия при интеграции.
Каждый виртуальный помощник настраивается по-разному. Поэтому мы можем дать вам только пошаговую инструкцию, которая поможет начать взаимодействие с ботом.
- Зайдите в Telegram и напишите название бота в поисковой строке.
- Выберите нужный чат в появившемся списке и кликните по нему.
- Нажмите на кнопку запуска в открывшемся окне. Обычно это команда /start.
- После активации бот начнет присылать вам сообщения, в которых объяснит, как его интегрировать в ваше сообщество.
Обычно для активации помощника необходимо добавить его в свой канал или группу и дать права администратора. После этого он начинает функционировать.
