Как самостоятельно создать бота в Телеграмм — пошаговая инструкция в картинках. Как создать бота в телеграмм Программа для создания бота в телеграмм

Пишем ему /start и получаем список всех его команд.
Первая и главная - /newbot - отправляем ему и бот просит придумать имя нашему новому боту. Единственное ограничение на имя - оно должно оканчиваться на «bot». В случае успеха BotFather возвращает токен бота и ссылку для быстрого добавления бота в контакты, иначе придется поломать голову над именем.

Для начала работы этого уже достаточно. Особо педантичные могут уже здесь присвоить боту аватар, описание и приветственное сообщение.

Не забудьте проверить полученный токен с помощью ссылки api.telegram.org/bot/getMe , говорят, не всегда работает с первого раза.

2. Программирование

Создавать бота буду на Python3, однако благодаря адекватности этого языка алгоритмы легко переносятся на любой другой.

Telegram позволяет не делать выгрузку сообщений вручную, а поставить webHook, и тогда они сами будут присылать каждое сообщение. Для Python, чтобы не заморачиваться с cgi и потоками, удобно использовать какой-нибудь реактор, поэтому я для реализации выбрал tornado.web. (для GAE удобно использовать связку Python2+Flask)

Каркас бота:

URL = "https://api.telegram.org/bot%s/" % BOT_TOKEN MyURL = "https://example.com/hook" api = requests.Session() application = tornado.web.Application([ (r"/", Handler), ]) if __name__ == "__main__": signal.signal(signal.SIGTERM, signal_term_handler) try: set_hook = api.get(URL + "setWebhook?url=%s" % MyURL) if set_hook.status_code != 200: logging.error("Can"t set hook: %s. Quit." % set_hook.text) exit(1) application.listen(8888) tornado.ioloop.IOLoop.current().start() except KeyboardInterrupt: signal_term_handler(signal.SIGTERM, None)
Здесь мы при запуске бота устанавливаем вебхук на наш адрес и отлавливаем сигнал выхода, чтобы вернуть поведение с ручной выгрузкой событий.

Приложение торнадо для обработки запросов принимает класс tornado.web.RequestHandler, в котором и будет логика бота.

Class Handler(tornado.web.RequestHandler): def post(self): try: logging.debug("Got request: %s" % self.request.body) update = tornado.escape.json_decode(self.request.body) message = update["message"] text = message.get("text") if text: logging.info("MESSAGE\t%s\t%s" % (message["chat"]["id"], text)) if text == "/": command, *arguments = text.split(" ", 1) response = CMD.get(command, not_found)(arguments, message) logging.info("REPLY\t%s\t%s" % (message["chat"]["id"], response)) send_reply(response) except Exception as e: logging.warning(str(e))
Здесь CMD - словарь доступных команд, а send_reply - функция отправки ответа, которая на вход принимает уже сформированный объект Message .

Собственно, её код довольно прост:

Def send_reply(response): if "text" in response: api.post(URL + "sendMessage", data=response)

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

3. Команды

Перво-наперво, необходимо соблюсти соглашение Telegram и научить бота двум командам: /start и /help:

Def help_message(arguments, message): response = {"chat_id": message["chat"]["id"]} result = ["Hey, %s!" % message["from"].get("first_name"), "\rI can accept only these commands:"] for command in CMD: result.append(command) response["text"] = "\n\t".join(result) return response

Структура message["from"] - это объект типа User , она предоставляет боту информацию как id пользователя, так и его имя. Для ответов же полезнее использовать message["chat"]["id"] - в случае личного общения там будет User, а в случае чата - id чата. В противном случае можно получить ситуацию, когда пользователь пишет в чат, а бот отвечает в личку.

Команда /start без параметров предназначена для вывода информации о боте, а с параметрами - для идентификации. Полезно её использовать для действий, требующих авторизации.

После этого можно добавить какую-нибудь свою команду, например, /base64:

Def base64_decode(arguments, message): response = {"chat_id": message["chat"]["id"]} try: response["text"] = b64decode(" ".join(arguments).encode("utf8")) except: response["text"] = "Can"t decode it" finally: return response

Для пользователей мобильного Telegram, будет полезно сказать @BotFather, какие команды принимает наш бот:
I: /setcommands
BotFather: Choose a bot to change the list of commands.
I: @******_bot
BotFather: OK. Send me a list of commands for your bot. Please use this format:

Command1 - Description
command2 - Another description
I:
whoisyourdaddy - Information about author
base64 - Base64 decode
BotFather: Success! Command list updated. /help

C таким описанием, если пользователь наберет /, Telegram услужливо покажет список всех доступных команд.

4. Свобода

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

UPD: Как верно подсказали, такое пройдет только при личном общении. В чатах боту доставляются только сообщения, начинающиеся с команды (/) (https://core.telegram.org/bots#privacy-mode)

Чтобы бот получал все сообщения в группах пишем @BotFather команду /setprivacy и выключаем приватность.

Для начала в Handler добавляем обработчик:

If text == "/": ... else: response = CMD[""](message) logging.info("REPLY\t%s\t%s" % (message["chat"]["id"], response)) send_reply(response)
А потом в список команд добавляем псевдо-речь:

RESPONSES = { "Hello": ["Hi there!", "Hi!", "Welcome!", "Hello, {name}!"], "Hi there": ["Hello!", "Hello, {name}!", "Hi!", "Welcome!"], "Hi!": ["Hi there!", "Hello, {name}!", "Welcome!", "Hello!"], "Welcome": ["Hi there!", "Hi!", "Hello!", "Hello, {name}!",], } def human_response(message): leven = fuzzywuzzy.process.extract(message.get("text", ""), RESPONSES.keys(), limit=1) response = {"chat_id": message["chat"]["id"]} if leven < 75: response["text"] = "I can not understand you" else: response["text"] = random.choice(RESPONSES.get(leven)).format_map({"name": message["from"].get("first_name", "")}) return response
Здесь эмпирическая константа 75 относительно неплохо отражает вероятность того, что пользователь всё-таки хотел сказать. А format_map - удобна для одинакового описания строк как требующих подстановки, так и без нее. Теперь бот будет отвечать на приветствия и иногда даже обращаться по имени.

5. Не текст.

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

Для примера расширим словарь RESPONSES:

RESPONSES["What time is it?"] = ["", "{date} UTC"]
И будем отлавливать текст :

If response["text"] == "": response["sticker"] = "BQADAgADeAcAAlOx9wOjY2jpAAHq9DUC" del response["text"]
Видно, что теперь структура Message уже не содержит текст, поэтому необходимо модифицировать send_reply:

Def send_reply(response): if "sticker" in response: api.post(URL + "sendSticker", data=response) elif "text" in response: api.post(URL + "sendMessage", data=response)
И все, теперь бот будет время от времени присылать стикер вместо времени:

6. Возможности

Благодаря удобству API и быстрому старту боты Telegram могут стать хорошей платформой для автоматизации своих действий, настройки уведомлений, создания викторин и task-based соревнований (CTF, DozoR и прочие).

Вспоминая , могу сказать, что теперь извращений меньше, а работа прозрачнее.

7. Ограничения

К сожалению, на данный момент существует ограничение на использование webHook - он работает только по https и только с валидным сертификатом, что, например для меня пока критично за счет отсутствия поддержки сертифицирующими центрами динамических днс.

К счастью, Telegram также умеет работать и по ручному обновлению, поэтому не меняя кода можно создать еще одну службу Puller, которая будет выкачивать их и слать на локальный адрес:

While True: r = requests.get(URL + "?offset=%s" % (last + 1)) if r.status_code == 200: for message in r.json()["result"]: last = int(message["update_id"]) requests.post("http://localhost:8888/", data=json.dumps(message), headers={"Content-type": "application/json", "Accept": "text/plain"}) else: logging.warning("FAIL " + r.text) time.sleep(3)

P.S. По пункту 7 нашел удобное решение - размещение бота не у себя, а на heroku, благо все имена вида *.herokuapp.com защищены их собственным сертификатом.

UPD: Telegram улучшили Бот Апи, из-за чего, теперь не обязательно иметь отдельную функцию для отправки сообщений при установленном вебхуке, а в ответ на POST запрос можно отвечать тем же сформированным JSON с ответным сообщением, где одно из полей устанавливается как ч "method": "sendMessage" (или любой другой метод, используемый ботом).

Теги:

  • telegram
  • введение
  • python3
Добавить метки

Боты в Телеграм – это специальные аккаунты, работающие через API мессенджера, которые позволяют выполнять множество различных функций. Часть из них выступает в качестве дополнений для каналов и групп: игры и викторины, боты поисковых систем, курс валют, создание опросов и т.д. Чтобы чат обладал дополнительным функционалом нужно знать, как настроить бота в Телеграм, это даст много плюсов развитию канала .

Также существуют боты, используемые для автоматизации бизнес-процессов: продаж, сбора и обработки заявок. Их и другие коммерческие аккаунты, занимающиеся продвижением своего бизнеса в Telegram.

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

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

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

Так как для этого нужны знания PHP он нанял нескольких программистов. После того, как настройка бота была завершена весь процесс управления его функционалом производится с помощью специальных команд: /start – для запуска, /setdate – установка даты для публикации материала, /settime – установка времени.

Это позволило администратору данной площадки упростить процесс публикации контента.

Конечно же, нет никакой необходимости в том, чтобы писать бота с нуля. Перед тем, , вам нужно найти его. Для этого введите его логин в поиске мессенджера. Для примера возьмем аккаунт поисковика Яндекс @ya.

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

Для этого напишите в переписке /settings.

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

В меню появятся дополнительные функции, которые вы также можете наблюдать в поисковой системе Яндекс: Новости, Переводчик, Курсы валют и т.д.

Как настроить ботов Телеграм через профиль

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

В открывшемся меню выберите пункт «Показать профиль».

В окне информации нажмите «Настройки».

В случае с приложением для мобильных устройств выполните следующие действия:

  1. Откройте приложение Telegram.
  2. Зайдите в нужный вам аккаунт бота.
  3. В открывшемся окне чата нажмите на иконку из трех точек в правом верхнем углу.
  4. Выберите пункт «Настройки».

Главное, что следует помнить – не во всех ботах есть возможность настроек, так как не все разработчики позволяют вносить правки другим пользователям.

Настройка ботов с помощью BotFather

Вы можете создать нового бота и задать свои функции и команды. Для этого вам понадобится аккаунт @BotFather.

Найдите его в поиске приложения Телеграм и откройте.

Для начала работы нажмите запустить. Перед вами откроется полный список команд для управления BotFather: создание и настройка ботов.

После этого система оповестит об успешном завершении процесса установки имени.

Теперь нужно указать описание. Для этого введите /setdescription.

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

Создаем и настраиваем дополнительные функции боту

Теперь перейдем к установке аватарки для нашего акаунта. Для этого нужно ввести /setuserpic. После того, как команда введена – прикрепите фотографию.

Нажмите на иконку скрепки в левой части (в приложении на смартфонах иконка расположена справа) и выберите изображение с вашего компьютера или мобильного устройства.

На этом процесс установки аватарки завершен.

Теперь перейдем к главным настройкам – установка комманд, которые будут поддерживаться ботом.

Чтобы начать этот процесс введите /setcommands в чате. Команды вводятся без знака «/». Вводите их в формате command1 – description.

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

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

У созданного вами аккаунта имеются три глобальные команды:

  1. /start – этот синтаксис используется для запуска.
  2. /help – синтаксис открывает окно помощи: информация об аккаунте, описание, инструкция.
  3. /settings – эта команда позволяет другим пользователям настраивать вашего бота под свои нужды.

Общие проблемы

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

Не срабатывают команды. Иногда появляется такая проблема, что на некоторых ботах не работают команды, которые отвечают за процесс настроек. Если это аккаунт, созданный не вами, а другими пользователями Telegram, то причинами этого могут стать:

  • вы неверно ввели команду;
  • разработчик удалил этот синтаксис или случился баг;

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

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

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


Есть два варианта решения этой задачи. Первый является самым сложным, для его реализации требуются знания в области программирования. Бота можно создать посредством Telegram API . Второй - гораздо более простой. Можно воспользоваться специальным ресурсом, который составит программу бота по вашим указаниям. Сайтов, предлагающих такие возможности очень много. Также существуют специальные боты в Telegram, выполняющие данную задачу. Но в статье пойдет речь о ресурсе manybot.io, который является одним из самых популярных.

Процедура создания

Для создания бота достаточно выполнить 7 простых шагов:

  1. Вводим в окне поиска Manybot, открываем и кликаем на кнопку Start;
  2. В появившемся меню выбираем русский язык, далее - пункт «Добавить нового бота»;
  3. Вам предложат перейти на @BotFather, делаем это, начинаем с ним чат, отправляем сообщение /newbot;
  4. Поочередно вводим название аккаунта и техническое имя;
  5. Сохраняем отправленный API-токен;
  6. Переходим обратно к @Manibot, отправляем ему полученный API-токен;
  7. Вводим описание аккаунта.

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

Это довольно простой способ того, как сделать бота в Telegram . Если же вы хорошо разбираетесь в программировании, то можно взяться за выполнение задачи собственными силами. На сайте code.telegram.org подробно расписана информация о Telegram API и программировании на нем. Все статьи представлены на английском языке.

Боты - специальные аккаунты в Telegram, созданные для того, чтобы автоматически обрабатывать и отправлять сообщения. Пользователи могут взаимодействовать с ботами при помощи сообщений, отправляемых через обычные или групповые чаты. Логика бота контролируется при помощи HTTPS запросов к нашему API для ботов .

Общие сведения

Что могут делать боты?

Вот несколько примеров использования ботов:

  • Интеграция с другими сервисами. Например, бот может отправлять комментарии или управлять «умным домом». Или, например, отправлять вам уведомления при совершении каком-то действия или события (Примеры: GitHub Bot , Image Bot).
  • Утилиты и инструменты. Бот может отображать погоду, переводить тексты или предупреждать о предстоящих событиях по вашему запросу (Например: бот опросов).
  • Одно- и многопользовательские игры. Бот может поиграть с вами в шашки или шахматы, проводить викторины и так далее. (Пример: Trivia bot).
  • Социальные сервисы. Бот может находить вам собеседника, основываясь на ваших общих интересах и увлечениях. (Пример: HotOrBot).
  • Все, что вам захочется. Бота можно запрограммировать для чего угодно. Разве что посуду они помыть не смогут.

Как работают боты?

Как уже было сказано ранее, роботы - особые аккаунты, которые не требуют номера телефона при создании. По сути, эти аккаунты играют роль интерфейса к вашему сервису, который работает на удалённом сервере.

Самое интересное в роботах это то, что для их создания вам не нужно изучать низкоуровневые методы работы с MTProto и шифрованием - общение с роботом организовано при помощи обычного HTTPS интерфейса с упрощёнными методами Telegram API. Мы назвали его Bot API .

Как создать бота?

Для этого есть... Бот. Просто напишите пользователю @BotFather и следуйте его инструкциям. Как только вы создали бота и получили свой ключ (токен) авторизации, переходите в раздел документации Bot API , чтобы начать настраивать вашего бота.

Чем бот отличается от обычного аккаунта?

Суперспособности

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

Инлайн-режим

Пользователи могут общаться с вашим ботом напрямую из поля ввода сообщения - из любого чата или группы. Для этого нужно всего лишь набрать имя пользователя вашего бота и запрос для поиска. Получив запрос, бот может возвратить какие-либо результаты. Как только пользователь нажмёт на один из них, он сразу же отправится в чат. Таким образом можно запрашивать контент от бота в чатах, группах или каналах.


Игры

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



Под капотом у игр - HTML5, поэтому вы можете создавать игры любой сложности. На данный момент командой Telegram созданы несколько демо-игр:

Клавиатуры

Одна из самых необычных возможностей Bot API - кастомизированные клавиатуры . При передаче сервером ответа есть возможность передать команду на отображение специальной клавиатуры с предустановленными вариантами ответа (см. ReplyKeyboardMarkup). Клиент Telegram, получив сообщение, отобразит пользователю вашу клавиатуру. Нажатие на клавишу сразу же отправит на сервер соответствующую команду. Таким образом можно значительно упростить взаимодействие робота с пользователем. На данный момент для отображения на клавише могут использоваться эмодзи и текст. Вот несколько примеров таких клавиатур:


За более подробной информацией обращайтесь к описанию метода sendMessage .

Команды

Команды представляют собой более гибкий способ общения с ботом. Рекомендуется следующий синтаксис:

/команда [необязательный] [аргумент]

Команда должна начинаться с символа косой черты «/» и не может быть длиннее 32 символов. Команды могут состоять из букв латинского алфавита, цифр и подчёркивания. Несколько примеров:

/get_messages_stats /set_timer 10min Alarm! /get_timezone London, UK

Сообщения, начинающиеся с косой черты, будут всегда доставляться боту (точно также, как и при ответе на его сообщения и на @упоминания бота в чате). Приложения Telegram будут:

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

/start@TriviaBot /start@ApocalypseBot

Это происходит автоматически, если вы выбираете команду из списка доступных.

Глобальные команды

Чтобы пользователям было проще работать с ботами, мы просим всех разработчиков реализовывать поддержку нескольких простых команд. В интерфейсе приложений Telegram будут ярлыки (быстрые ссылки) для этих команд.

При попытке начать общение с роботом, пользователь увидит кнопку СТАРТ . На странице профиля бота также будут доступны ссылки Помощь и Настройки .

Режим приватности

Ботов часто добавляют в группы, чтобы получать различную информацию - новости, уведомления и т.д. Однако, при добавлении бота вы наверняка спрашивали себя: «А что если этот маленький засранец пересылает всю групповую переписку куда-то »налево“?» Именно поэтому у роботов есть режимы приватности .

Робот с включенным режимом приватности не будет получать всех сообщений, а только сообщения, удовлетворяющие этим условиям:

Это хорошо со всех сторон: во первых, некоторые люди будут спать спокойно (в своих шапочках из фольги), не опасаясь, что их будут прослушивать. Во-вторых, режим приватности избавляет разработчиков от необходимости обрабатывать сотни ненужных сообщений из групповых чатов.

Режим приватности включен по умолчанию во всех ботах. Он может быть выключен - тогда бот начнёт получать все сообщения, как и обычный пользователь. Всем участникам конференции виден текущий статус режима приватности в списке участников группы.

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

Внешнее связывание

Создание токена

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

Настройки

  • /setname - Изменить имя робота.
  • /setdescription - Изменить описание робота, представляющее собой короткий текст с описанием бота. Пользователи увидят его в самом начале, под заголовком «Что умеет этот робот?».
  • /setabouttext - Изменить информацию о боте, ещё более короткий текст, отображающийся в профиле бота. Ещё, если кто-то поделится вашим ботом, то вместе со ссылкой на него отправится этот текст.
  • /setuserpic - Изменить аватарку бота. Картинки - всегда хорошо.
  • /setcommands - Изменить список команд бота. Каждая команда состоит из собственно командного слова, начинающегося с символа косой черты («/») и короткого описания. Пользователи увидят список команд при вводе символа «/».
  • /setjoingroups - Определяет, можно ли добавлять вашего бота в группы.
  • /setprivacy - Определяет, все ли сообщения видит ваш бот в группах. В выключенном состоянии роботу будут отправляться все сообщения.
  • /deletebot - Удалить бота и его имя пользователя.

Совет

Пожалуйста, имейте в виду, что для применения настроек на сервере, возможно, потребуется некоторое время.

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

Предыстория создания:

Так как увлекаюсь игрой в Pokémon GO выбор тематики не составил труда, дальше осталось лишь выбрать как именно его буду создавать. Поворошив интернет и осознавая, что я не имею никаких знаний программирования пришел к выводу, что воспользуюсь полностью бесплатным ботом -

Чтобы не терзать вас в неведении о моих успехах за 3 месяца работы, вот:

Создание бота:

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

Процесс создания бота занимает не более одной минуты.

Этапы:


Бот создан, но его необходимо оформить и настроить.

Оформление :

Тут тоже все просто. Для этого необходимо 4 команды:

  • /setuserpic - чтобы изменить аватарку бота;
  • /setdescription - чтобы изменить текст, который пользователи видят перед тем как нажать на Start;
  • /setabouttext - чтобы изменить текст внутри профиля бота;
  • /setname - чтобы изменить имя бота;

Все команды отправляем

Если все же возникли трудности то вотвидеоурок


Настройка :

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

Сначала распишу зачем нужны команды. Они являются основой всех ботов. Вот так они будут выглядит:


Еще их можно вызвать через “слэш”.

Приступим:

  1. Нажимаем в меню вашего бота на команду “Пользовательские команды
  2. Выбираем раздел “Создать команду
  3. Отправляем название команды, например “/photo ” или “/sites
  4. Отправляем текст или/и фотографию (команду всегда можно изменить и удалить) и нажимаем сохранить. Или выбираем один из пунктов:

"Добавить вопрос” - иначе говоря форма. Форма - это команда, внутри которой есть вопросы.
Когда пользователь вызывает такую команду, то ему задаются вопросы по порядку, а ответы отправляются обратно администраторам.
Зачем нужны формы?

Интернет