Как создать бота в Телеграме и настроить команды: ограничения, правила BotFather, лайфхаки для новичков и разработчиков – полная инструкция в обзоре!
О том, как сделать первого Телеграм-бота через БотФазер и что для этого нужно, рассказывали в статье «Создаем бота в BotFather: инструкция, команды, настройки». В этом материале остановимся на командах для Telegram и работы с мессенджером:
- для BotFather – создание бота, редактирование, установка описания / аватара и т.д., управление играми в Telegram;
- для разработчиков – какие команды поддерживает бот в Телеграме, как устанавливать их, какие требования к названиям, как устанавливать через БотФазэра или пакетно.
Как настроить команды чат-бота в Телеграм через BotFather
Чтобы задать команды нашему боту, созданному ранее в пошаговой инструкции, идем в BotFather и выбираем /setcommands.
БотФазер предлагает задавать новые таким образом:
- command1 — Description;
- command2 — Another description.
Если перевести на русский, нам нужно ввести команду и ее краткое описание. В данном примере это command1 — info about ChatLabs. БотФазер уведомляет о том, что обновил лист (список) команд, и теперь в нем будут заданные нами.
Давайте проверим, что удалось создать. Запрашиваем список ботов через /mybots, выбираем нужный и видим, что у него есть 1 заданная command.
Давайте теперь перейдем в бота и проверим, действительно ли наша команда добавлена. Да, она вызывается и имеет короткое описание – все так, как мы и задавали. Теперь вы знаете, как сделать команды в Телеграм боте через @BotFather. Правда, нужно добавлять логику (что будет происходить после вызова, откуда приходят данные, какие они и т.д.).
Команды BotFather для создания ботов Telegram и управления ими
Чтобы увидеть список команд Бот Фазер, необходимо перейти в Телеграм (@BotFather, обязательно проверяйте галочку верификации!) и ввести команду /help. Также можно запросить меню с клавиатуры. Команды Телеграм, которые доступны сегодня, могут дополняться завтра. К примеру, в 2023 появился целый набор функций для работы с веб-приложениями Web Apps.
Давайте разберем команды для бота Телеграм через BotFather.
Как создать бота в Telegram
Бот Фазэр предоставляет команды:
- /newbot – создаем нового бота в Телеге;
- /mybots – редактирование chat bots на аккаунте.
Как редактировать бота в Telegram
Телеграм предоставляет следующие команды из категории «Edit Bots»:
- /setname – установить имя для чат-бота;
- /setabouttext – добавить информацию в раздел «О боте»;
- /setuserpic – установить фотографию профиля (обратите внимание, что сегодня тг поддерживает и иные форматы аватара);
- /setdescription – изменить дескрипшен (это короткое описание, которое имеет chatbot);
- /setcommands – изменить набор команд (задать все необходимые);
- /deletebot – удалить бота.
Как изменить настройки бота в Телеграм
Набор команд из категории «Bot Settings» в BotFather Телеграм выглядит таким образом:
- /token – сгенерировать токен авторизации;
- /revoke – отозвать авторизационный token;
- /setinline – перейти в inline mode (инлайн-режим позволяет взаимодействовать с чат-ботом без клика на «Start»);
- /setinlinegeo – активировать инлайн-запросы геолокации;
- /setinlinefeedback – изменить настройки инлайн-режима;
- /setjoingroups – параметры добавления в группы;
- /setprivacy – активация приватного (прайваси) доступа для работы с группами.
Как задавать настройки Web Apps (веб-приложений) в Телеграм
WebApp внешне напоминает сайт с каталогом или другой функциональностью. Команды для работы с веб-приложениями в Telegram:
- /myapps – редактировать веб-приложение;
- /newapp – создать новый веб-аппликейшн;
- /listapps – получить список Web Apps на аккаунте;
- /editapp – редактировать веб-приложение;
- /deleteapp – удалить web app.
Как создавать игры и управлять ими
Команды для Games были в режим beta, но сегодня доступны и работают полноценно. Разработчикам чат-ботов функциональность игр сегодня позволяет реализовать любую механику:
- Play2Earn (p2e) – играй, чтобы зарабатывать;
- Move2Earn (m2e) – двигайся, чтобы зарабатывать;
- Learn2Earn (l2e) – изучай, чтобы зарабатывать;
- Free2Play (f2p) – играй бесплатно и так далее.
Появление раздела с играми в Телеграмме открыло целое направление – геймификация в мессенджере. К примеру, мы делали бота для игры в шахматы в Телеграм (Web Apps).
Команды BotFather Телеграм, чтобы создать и отредактировать игру:
- /mygames – запросить игры;
- /newgame – создать новую игру в ТГ;
- /listgames – запросить список игр в Телеграме;
- /editgame – отредактировать игру;
- /deletegame – удалить игру в ТГ.
Естественно, дерево команд разветвленное. К примеру, после выбора /newbot Бот Фазер предложит задать имя и юзернейм, после чего выдаст ссылку и токен доступа.
Команды БотФазер в Телеграм позволяют создать простого бота. Чтобы chat bot работал по нужным сценариям с кнопками «Купить», «Оплатить», «Заказать», «Посмотреть» и так далее, нужно использовать дополнительные команды. Условно мы назвали их «Commands for developers». Т.е. команды чат-ботов для разработчиков – те, которые не предоставляет BotFather, но которые нужны для прикручивания определенного функционала. Они все равно задаются через БотФазера и /setcommands (или при взаимодействии с API напрямую).
Команды бота в Телеграм для разработчиков
Команда – ключевое слово, которое пользователь отправляет в чат-бот. Основные правила для работы с командами чат-ботов для девелоперов:
- Команда боту в Телеграм всегда начинается со слеша (/) и выглядит как /keyword. Ключевое слово после слэша указывает чат-боту, что нужно делать.
- Хайлайтс команд в сообщениях. Когда юзер нажимает на команду, она отправляется снова.
- Список поддерживаемых ботов команд лучше делать с описанием. Короткий дескрипшен появляется после знака / и отвечает на вопрос, что произойдет после вызова команды. Чтобы реализовать функционал, нужно предоставить список команд @BotFather или через метод API.
- Команды должны быть максимально конкретными. При этом разработчики Telegram делятся лайфхаком: /newlocation или /neworder лучше, чем просто команда /new. Причина в том, что в последнем случае нужно делать «двухходовку» и после команды /new вводить дополнительный параметр /location или /order.
Что касается кастомных команд, которые задает разработчик при создании бота, здесь есть нюансы:
- / обязателен (команда должна начинаться со слэша);
- длина – до 32 символов;
- буквы – только латиница (английские).
Допускается задавать команды с использованием цифр и знаков (настройки Телеграмма поддерживают подчеркивания).
Примеры команд для чат-бота:
- /next;
- /profile;
- /cancel;
- /newlocation;
- /newrule и так далее.
Можете посмотреть, как реализован чат-бот @ChatLabs_bot. Он – помощник в работе с входящими запросами от клиентов.
Глобальные (общие) команды ботов в Телеграмме
Мессенджер просит использовать при разработке так называемые «Глобальные» (Global Commands). Они нужны, чтобы привести всех ботов в Telegram к единообразному и удобному интерфейсу.
Глобальные (общие, публичные) команды для чат-бота в Телеграмме:
- /start – начало взаимодействия (к примеру, когда bot отправляет пользователю приветственное сообщение). Глобальная /start используется также для передачи боту дополнительных параметров через Deep Linking.
- /help – справка. Глобальная command в Телеграм нужна для короткого описания робота и его функциональности. В пару кликов юзер может увидеть список команд и «способностей» robot.
- /settings – настройки для конкретного пользователя и команды редактирования (если применимо).
Кнопку «Start» пользователи видят при первом взаимодействии с роботом. Ссылки на /help и /settings будут доступны после добавления их в @BotFather.
Области действия команд (Command Scopes, скоупы), настройка ролей
Функционал нужен для того, чтобы распределить роли. Если коротко, то бот может показывать одни команды администраторам, а совершенно другие – обычным пользователям. Command Scopes – продвинутая функция Телеграм.
На бекенде всегда нужно проверять: а) есть ли вообще запрашиваемые команды; б) имеет ли пользователь право работать с ними. Учитывайте, что у ботов Телеграм с включенным режимом конфиденциальности работа строится иначе.
Команды ботам в Privacy Mode (прайваси, режим конфиденциальности)
Privacy Mode используют для управления группами и выполнения специфических задач, связанных с модерацией и менеджментом. Соответственно, и команды для них в Телеграмме будут отличаться.
К примеру, chat bots в Privacy Mode в Telegram видят только команды:
- явно предназначенные для них (к примеру, имеющие формат /command@forthis_bot).
- общие (/start, /settings, /help), если bot был последним отправившим сообщение группе.
Режим конфиденциальности нужен, чтобы сделать робота более эффективным (особенно на хайлоад-проектах). Активированный Privacy Mode уменьшает количество вводных данных, которое должен обработать robot в TG.
Как создать команды для бота в Телеграм для администрирования группы, чата, канала
Команды Telegram бота для администрирования групп нужны для «поддержания порядка». Сегодня на рынке есть роботы-администраторы и модераторы, которые значительно упрощают работу с сообществами. Бесплатные боты для Телеграмм-каналов и чатов разбирали в отдельной инструкции.
Условия просты: команды отправляются в ответ на сообщение нарушителя, к которому применяются санкции. Основные commands:
- !kick – выбросить человека из чата (возможен возврат в любой момент);
- !unban – разбанить (снять бан);
- !mute – мут / читалка (участник получает ридонли, т.е. может читать чат, но не будет отправлять сообщения);
- !ban – забанить (в случае временного бана на определенный период может выглядеть как !ban 20d);
- !unmute – анмут, снимает действие !mute;
- !warn – выдает предупреждение (после трех / пяти предупреждений участник получает бан);
- !unwarn – снять все предупреждения, а также многие другие.
Команд Телеграм-бота для групп и сообществ может быть значительно больше: вывести статистику, понизить репутацию, получить информацию о пользователе, вывести ТОП участников (по определенному критерию), почистить чат или многие другие.
В Телеграм бот настройка команд проста. При работе с БотФазером проблем не возникает. Но сложности появляются, когда необходимо писать собственную логику на Питоне, Джаваскрипте или других языках программирования. Именно поэтому часто приходят в студию ChatLabs, а не пытаются создать чат-бота самостоятельно.
Благодаря пошаговой инструкции с обзором вы знаете, как прописать команды боту в Телеграм. В обзорах и материалах разберем кнопки с командами Телеграм бота, скрытые команды и многие другие фишки telegram bot API.
Ответы на часто задаваемые вопросы (FAQ)
Как сделать команды в Телеграм боте?
«@BotFather –> /mybots –> название бота –> Edit commands –> ввести название команды». Также есть и более простая пошаговая инструкция, как прописать команды боту в Телеграм. Нужно вызвать /setcommands в настройках робота в @BotFather и задать необходимые.
Как добавить несколько команд в тг бота?
Задать через /setcommands в БотФазере или использовать API. Формат – «command — короткое описание» (command1 — Description).
Почему Телеграм бот не реагирует на команды?
Ошибка в программировании логики чат-бота на Python, Javascript или других языках – самая частая причина (не передали аргументы, не добавили обработчики и т.д.). Среди причин, почему не работают команды бота в Телеграм, настройки конфиденциальности профиля, параметры получения уведомлений бота, работа сервера, проблемы интернет-подключения, некорректный ввод и так далее.
Как удалить команду в боте Телеграм?
Прямой функции «Удалить команду №1» в Botfather нет. Вместо этого администратор запрашивает /setcommands в Ботфазер и задает новый список команд. К примеру, чат-бот работает с тремя:
- /start – начало работы;
- /viewlocation – показать локацию;
- /newlocation – новая локация.
Мы хотим удалить команду для задания новой локации. Для этого выбираем /setcommands в БотФазере и задаем новый набор commands:
- /start – начало работы;
- /viewlocation – показать локацию.
Botfather перезапишет их. Новый набор отобразится приблизительно через 10 минут (не переживайте, если информация обновилась не сразу).
Как добавить несколько команд в тг бота?
Запустить /setcommands в Botfather Телеграмма и вписать новые команды в формате: название – дескрипшн.
Почему команды бота недоступны в группе Телеграм?
Проверьте настройки приватности (Disable, group privacy). Также обратите внимание, что в Телеграме боты не видят сообщения друг друга и не могут на них реагировать.
Как увидеть в Телеграм боте список команд?
«@BotFather –> /mybots –> название бота». Если нужно редактирование, выбираем Edit commands.
Какие в Telegram команды iOS геопозиции?
В Telegram Bot API геопозиция доступна после запроса /setinlinegeo. Объект содержит обязательные параметры longitude и latitude. Дополнительно (опционально) в API предусмотрены horizontal_accuracy, live_period, heading, proximity_alert_radius.
Какая у Botfather инструкция – на русском команды вводить можно?
Инструкция для БотФазера и создания чат-ботов на русском есть на сайте. Bots Telegram поддерживают только английский (/newtoken, /neworder, /newlocation). При попытке задать значение на русском Бот Фазер покажет ошибку.
Какие есть интересные и прикольные команды в ТГ?
Они связаны не столько с разработкой, сколько с ежедневным использованием. Среди интересных фишек установка пароля на чаты, отложенные сообщения (можно настраивать дату публикации), пометить сообщение как непрочитанное, настроить счетчик уведомлений, установить скрытый текст и так далее.