0 added
0 removed
Original
2026-01-01
Modified
2026-03-10
1
<ul><li><a>Регистрация</a><ul><li><a>Что будет делать</a></li>
1
<ul><li><a>Регистрация</a><ul><li><a>Что будет делать</a></li>
2
</ul></li>
2
</ul></li>
3
<li><a>Составление кода</a><ul><li><a>Формирование API и токена</a></li>
3
<li><a>Составление кода</a><ul><li><a>Формирование API и токена</a></li>
4
<li><a>Отладка взаимодействия</a></li>
4
<li><a>Отладка взаимодействия</a></li>
5
<li><a>Django-программа</a></li>
5
<li><a>Django-программа</a></li>
6
<li><a>Тестирование</a></li>
6
<li><a>Тестирование</a></li>
7
</ul></li>
7
</ul></li>
8
<li><a>Сервисы-помощники</a><ul><li><a>ManyBot</a></li>
8
<li><a>Сервисы-помощники</a><ul><li><a>ManyBot</a></li>
9
<li><a>Botobot</a></li>
9
<li><a>Botobot</a></li>
10
<li><a>Bottap</a></li>
10
<li><a>Bottap</a></li>
11
<li><a>ChatForma</a></li>
11
<li><a>ChatForma</a></li>
12
<li><a>Puzzlebot</a></li>
12
<li><a>Puzzlebot</a></li>
13
<li><a>BotMother</a></li>
13
<li><a>BotMother</a></li>
14
</ul></li>
14
</ul></li>
15
<li><a>Быстрая разработка</a></li>
15
<li><a>Быстрая разработка</a></li>
16
</ul><p>Telegram - популярный мессенджер, который стремительно развивается. Не менее популярно и востребовано применение ботов. В данной статье будет рассказано о том, как написать собственного "робота", а также запустить его. Это не самая трудная задача. С ней сможет справиться даже новичок, который только начал изучать Python или PHP.</p>
16
</ul><p>Telegram - популярный мессенджер, который стремительно развивается. Не менее популярно и востребовано применение ботов. В данной статье будет рассказано о том, как написать собственного "робота", а также запустить его. Это не самая трудная задача. С ней сможет справиться даже новичок, который только начал изучать Python или PHP.</p>
17
<h2>Регистрация</h2>
17
<h2>Регистрация</h2>
18
<p>Для того, чтобы создать бота для Telegram, его нужно зарегистрировать. Это - первый этап, не требующий особых навыков и знаний от разработчика.</p>
18
<p>Для того, чтобы создать бота для Telegram, его нужно зарегистрировать. Это - первый этап, не требующий особых навыков и знаний от разработчика.</p>
19
<p>Для регистрации бота команде программистов потребуется:</p>
19
<p>Для регистрации бота команде программистов потребуется:</p>
20
<ol><li>Установить на свое устройство Телеграм.</li>
20
<ol><li>Установить на свое устройство Телеграм.</li>
21
<li>Найти в контактах "пользователя" с именем BotFather. Его нужно добавить "в друзья".</li>
21
<li>Найти в контактах "пользователя" с именем BotFather. Его нужно добавить "в друзья".</li>
22
<li>Открыть чат с соответствующим контактом. Для этого пригодится команда (кнопка) Start.</li>
22
<li>Открыть чат с соответствующим контактом. Для этого пригодится команда (кнопка) Start.</li>
23
<li>Выполнить команду /newbot.</li>
23
<li>Выполнить команду /newbot.</li>
24
<li>Следовать подсказкам на экране. Стоит обратить внимание на то, что имя бота должно обязательно в конце содержать слово bot.</li>
24
<li>Следовать подсказкам на экране. Стоит обратить внимание на то, что имя бота должно обязательно в конце содержать слово bot.</li>
25
</ol><p>Задумываясь над тем, как написать bot, нужно придумать ему название. В приведенном примере оно будет PythonPlanetBot. Заключается работа такого ПО в выполнении команды под названием "парсинг RSS с сайта Python Planet. Далее робот будет выдавать клиенту информацию о последний опубликованных на сервисе постах.</p>
25
</ol><p>Задумываясь над тем, как написать bot, нужно придумать ему название. В приведенном примере оно будет PythonPlanetBot. Заключается работа такого ПО в выполнении команды под названием "парсинг RSS с сайта Python Planet. Далее робот будет выдавать клиенту информацию о последний опубликованных на сервисе постах.</p>
26
<h3>Что будет делать</h3>
26
<h3>Что будет делать</h3>
27
<p>Кроме предложенного функционала, нужно сделать "робота" удобным не только для программиста, но и для пользователя. В процессе создания ПО требуется прописать следующие функции:</p>
27
<p>Кроме предложенного функционала, нужно сделать "робота" удобным не только для программиста, но и для пользователя. В процессе создания ПО требуется прописать следующие функции:</p>
28
<ul><li>присваивание описания боту;</li>
28
<ul><li>присваивание описания боту;</li>
29
<li>установка аватара;</li>
29
<li>установка аватара;</li>
30
<li>замена token.</li>
30
<li>замена token.</li>
31
</ul><p>Выше можно увидеть все возможности, которые будет использовать Телеграм бот.</p>
31
</ul><p>Выше можно увидеть все возможности, которые будет использовать Телеграм бот.</p>
32
<h2>Составление кода</h2>
32
<h2>Составление кода</h2>
33
<p>Теперь, когда с функционалом покончено, можно начать программировать. Зарегистрировать "робота-автоответчика" проще простого. Намного сложнее заставить ботов работать так, как задумано. Тут на помощь придут знания PHP или Python.</p>
33
<p>Теперь, когда с функционалом покончено, можно начать программировать. Зарегистрировать "робота-автоответчика" проще простого. Намного сложнее заставить ботов работать так, как задумано. Тут на помощь придут знания PHP или Python.</p>
34
<p>Предварительная подготовка</p>
34
<p>Предварительная подготовка</p>
35
<p>Предложенный далее пример будет базироваться на Django. Это - самый простой и быстрый вариант из всех существующих. У Джанго полно функций и команд, которые позволяют справиться с первоначальной задачей за 10-15 минут.</p>
35
<p>Предложенный далее пример будет базироваться на Django. Это - самый простой и быстрый вариант из всех существующих. У Джанго полно функций и команд, которые позволяют справиться с первоначальной задачей за 10-15 минут.</p>
36
<p>Поэтому после регистрации bot потребуется:</p>
36
<p>Поэтому после регистрации bot потребуется:</p>
37
<ul><li>установить и подключить Django;</li>
37
<ul><li>установить и подключить Django;</li>
38
<li>поставить на устройство среду разработки, в которой будет осуществляться программирование.</li>
38
<li>поставить на устройство среду разработки, в которой будет осуществляться программирование.</li>
39
</ul><p>У Телеграма есть два метода получения команд и сообщений для рассматриваемого "робота-автоответчика". Они исключают друг друга:</p>
39
</ul><p>У Телеграма есть два метода получения команд и сообщений для рассматриваемого "робота-автоответчика". Они исключают друг друга:</p>
40
<ul><li>использование API и метода getUpdates;</li>
40
<ul><li>использование API и метода getUpdates;</li>
41
<li>инициализация Webhook.</li>
41
<li>инициализация Webhook.</li>
42
</ul><p>Второй подход заключается в том, чтобы передать роботу специальный URL адрес. Он будет поступать на POST каждый раз, когда кто-то отправляет сообщение. Именно на таком подходе заострим внимание.</p>
42
</ul><p>Второй подход заключается в том, чтобы передать роботу специальный URL адрес. Он будет поступать на POST каждый раз, когда кто-то отправляет сообщение. Именно на таком подходе заострим внимание.</p>
43
<h3>Формирование API и токена</h3>
43
<h3>Формирование API и токена</h3>
44
<p>Инструкция, по которой пишем бота для Телеграмм, будет выглядеть так:</p>
44
<p>Инструкция, по которой пишем бота для Телеграмм, будет выглядеть так:</p>
45
<ol><li>Зарегистрировать "робот-автоответчик".</li>
45
<ol><li>Зарегистрировать "робот-автоответчик".</li>
46
<li>Установить библиотеку Python для Telegram - telepot.</li>
46
<li>Установить библиотеку Python для Telegram - telepot.</li>
47
<li>Поставить библиотеку в виртуальное окружение python virtualenv.</li>
47
<li>Поставить библиотеку в виртуальное окружение python virtualenv.</li>
48
<li>Присвоить переменной token значение токена, которое было получено при попытке сделать bot через BotFather.</li>
48
<li>Присвоить переменной token значение токена, которое было получено при попытке сделать bot через BotFather.</li>
49
</ol><p>Именно так выглядит элементарная API команда getMe. Она вернет информацию о "роботе-автоответчике".</p>
49
</ol><p>Именно так выглядит элементарная API команда getMe. Она вернет информацию о "роботе-автоответчике".</p>
50
<p>Теперь нужно просто перейти в "чат", добавив рассматриваемое "приложение" в список контактов. Далее - ввести стандартную команду /start. В логе сообщения пишется и обрабатывается такой код:</p>
50
<p>Теперь нужно просто перейти в "чат", добавив рассматриваемое "приложение" в список контактов. Далее - ввести стандартную команду /start. В логе сообщения пишется и обрабатывается такой код:</p>
51
<p>Можно налаживать "общение" с получившимся роботом.</p>
51
<p>Можно налаживать "общение" с получившимся роботом.</p>
52
<h3>Отладка взаимодействия</h3>
52
<h3>Отладка взаимодействия</h3>
53
<p>Сделать своих собственных ботов может любой пользователь, зарегистрированный в Telegram. Обмен сообщениями и информации здесь происходит через HTTPS. Для того, чтобы передавать данные, система использует JSON.</p>
53
<p>Сделать своих собственных ботов может любой пользователь, зарегистрированный в Telegram. Обмен сообщениями и информации здесь происходит через HTTPS. Для того, чтобы передавать данные, система использует JSON.</p>
54
<p>Рекомендуется запомнить следующее:</p>
54
<p>Рекомендуется запомнить следующее:</p>
55
<ol><li>Метод getUpdates будет возвращать список или массив из объектов типа Update.</li>
55
<ol><li>Метод getUpdates будет возвращать список или массив из объектов типа Update.</li>
56
<li>Внутри Update расположен элемент под названием Message. Именно он считывает атрибут text, предусматривающий в своем составе текст, переданный пользователем, а также компонент chat.</li>
56
<li>Внутри Update расположен элемент под названием Message. Именно он считывает атрибут text, предусматривающий в своем составе текст, переданный пользователем, а также компонент chat.</li>
57
<li>Параметр update_id выступает в виде оффсет-параметра при обращении к методу getUpdates.</li>
57
<li>Параметр update_id выступает в виде оффсет-параметра при обращении к методу getUpdates.</li>
58
</ol><p>Чтобы освоить программирование и написать элементарного бота, соответствующих команд будет хватать. Теперь стоит приступить к формированию Django-программы, которая отвечает за обслуживание пользователей.</p>
58
</ol><p>Чтобы освоить программирование и написать элементарного бота, соответствующих команд будет хватать. Теперь стоит приступить к формированию Django-программы, которая отвечает за обслуживание пользователей.</p>
59
<h3>Django-программа</h3>
59
<h3>Django-программа</h3>
60
<p>Создавать крупные коды при работе с Python не обязательно. Ниже - пример того, как будет выглядеть элементарное Джанго-приложение для парсинга:</p>
60
<p>Создавать крупные коды при работе с Python не обязательно. Ниже - пример того, как будет выглядеть элементарное Джанго-приложение для парсинга:</p>
61
<p>Программирование на этом этапе не заканчивается. Теперь делаем "вью" соответствующего приложения. Для этого предстоит использовать библиотеку request для HTTP без обработки ошибок:</p>
61
<p>Программирование на этом этапе не заканчивается. Теперь делаем "вью" соответствующего приложения. Для этого предстоит использовать библиотеку request для HTTP без обработки ошибок:</p>
62
<p>Здесь происходит следующее:</p>
62
<p>Здесь происходит следующее:</p>
63
<ol><li>CommandReviceView ждет ответ (POST-запрос) на себя. Далее - осуществляет его парсинг и выдает результат в зависимости от прописанной команды.</li>
63
<ol><li>CommandReviceView ждет ответ (POST-запрос) на себя. Далее - осуществляет его парсинг и выдает результат в зависимости от прописанной команды.</li>
64
<li>SendMessage отправляет сообщение пользователю через chat_id.</li>
64
<li>SendMessage отправляет сообщение пользователю через chat_id.</li>
65
<li>Chat_id - уникальный идентификатор чата, который устанавливается между человеком и мессенджером.</li>
65
<li>Chat_id - уникальный идентификатор чата, который устанавливается между человеком и мессенджером.</li>
66
</ol><p>У ботов в Телеграме есть ограничения - они не смогут осуществлять отправку сообщений пользователям, не инициировавшим предварительное общение. Такая система защиты гарантирует избавление от спама.</p>
66
</ol><p>У ботов в Телеграме есть ограничения - они не смогут осуществлять отправку сообщений пользователям, не инициировавшим предварительное общение. Такая система защиты гарантирует избавление от спама.</p>
67
<h3>Тестирование</h3>
67
<h3>Тестирование</h3>
68
<p>Создание "робота-автоответчика" подошло к концу. Теперь нужно протестировать получившийся результат. Для этого придется выполнить одну команду - симуляция поведения Телеграм-сервиса.</p>
68
<p>Создание "робота-автоответчика" подошло к концу. Теперь нужно протестировать получившийся результат. Для этого придется выполнить одну команду - симуляция поведения Телеграм-сервиса.</p>
69
<p>Для этого потребуется: тело запроса, HTTP клиент, подключение к Сети. В виде клиента каждый, кто хотел на первых порах научиться программировать ботов, должен использовать Chrome плагин под названием Postman. А тело лучше взять напрямую из API вызова getUpdates.</p>
69
<p>Для этого потребуется: тело запроса, HTTP клиент, подключение к Сети. В виде клиента каждый, кто хотел на первых порах научиться программировать ботов, должен использовать Chrome плагин под названием Postman. А тело лучше взять напрямую из API вызова getUpdates.</p>
70
<p>Тестирование проводится при написании команды feed. Предварительно необходимо запустить runserver.</p>
70
<p>Тестирование проводится при написании команды feed. Предварительно необходимо запустить runserver.</p>
71
<p>На экране появятся 10 последний опубликованных на заданном ранее сервисе постов. Теперь все будет работать как положено.</p>
71
<p>На экране появятся 10 последний опубликованных на заданном ранее сервисе постов. Теперь все будет работать как положено.</p>
72
<h2>Сервисы-помощники</h2>
72
<h2>Сервисы-помощники</h2>
73
<p>Для того, чтобы стать настоящим мастером по созданию bots в Telegram, можно пойти другим путем. А именно - воспользоваться готовыми сервисами-помощниками. С ними боты окажутся более функциональными и удобными. Также не потребуются существенные знания Python и PHP.</p>
73
<p>Для того, чтобы стать настоящим мастером по созданию bots в Telegram, можно пойти другим путем. А именно - воспользоваться готовыми сервисами-помощниками. С ними боты окажутся более функциональными и удобными. Также не потребуются существенные знания Python и PHP.</p>
74
<h3>ManyBot</h3>
74
<h3>ManyBot</h3>
75
<p>ManyBot - это удобное приложение, которое поможет справиться с первоначальной задачей каждому. Если в предложенном выше варианте мы делаем ботов при помощи ЯП, то в ManyBot соответствующие навыки не пригодятся.</p>
75
<p>ManyBot - это удобное приложение, которое поможет справиться с первоначальной задачей каждому. Если в предложенном выше варианте мы делаем ботов при помощи ЯП, то в ManyBot соответствующие навыки не пригодятся.</p>
76
<p>Данный конструктор позволяет создавать меню, подменю, а также удобную форму обратной связи. Предусматривает возможность подключения RSS-лент, формирования рассылок подписчикам. Распространяется бесплатно.</p>
76
<p>Данный конструктор позволяет создавать меню, подменю, а также удобную форму обратной связи. Предусматривает возможность подключения RSS-лент, формирования рассылок подписчикам. Распространяется бесплатно.</p>
77
<p>Данный проект подойдет тем, кто не гонится за инновациями. Сервис не обновлялся с 2015 года, поэтому современным его назвать проблематично. Но на первое время ManyBot подойдет прекрасно.</p>
77
<p>Данный проект подойдет тем, кто не гонится за инновациями. Сервис не обновлялся с 2015 года, поэтому современным его назвать проблематично. Но на первое время ManyBot подойдет прекрасно.</p>
78
<h3>Botobot</h3>
78
<h3>Botobot</h3>
79
<p>Взгляд на "роботов-автоотвечиков" в мессенджерах по-новому. Botobot:</p>
79
<p>Взгляд на "роботов-автоотвечиков" в мессенджерах по-новому. Botobot:</p>
80
<ul><li>является узконаправленным;</li>
80
<ul><li>является узконаправленным;</li>
81
<li>позволяет создавать магазины;</li>
81
<li>позволяет создавать магазины;</li>
82
<li>поддерживает выгрузку товаров из таблиц Excel;</li>
82
<li>поддерживает выгрузку товаров из таблиц Excel;</li>
83
<li>дает возможность формирования рассылок;</li>
83
<li>дает возможность формирования рассылок;</li>
84
<li>имеет бесплатную (на 20 товаров) и платную версии.</li>
84
<li>имеет бесплатную (на 20 товаров) и платную версии.</li>
85
</ul><p>Botobot - проект, который ориентирован на интернет-магазины. В плане настроек и имеющихся характеристик предлагает небольшой функционал.</p>
85
</ul><p>Botobot - проект, который ориентирован на интернет-магазины. В плане настроек и имеющихся характеристик предлагает небольшой функционал.</p>
86
<h3>Bottap</h3>
86
<h3>Bottap</h3>
87
<p>Следующий сервис, способный облегчать программирование ботов в Телеграм - это Bottap. Приложение, поддерживающее все стандартные настройки:</p>
87
<p>Следующий сервис, способный облегчать программирование ботов в Телеграм - это Bottap. Приложение, поддерживающее все стандартные настройки:</p>
88
<ul><li>создание меню;</li>
88
<ul><li>создание меню;</li>
89
<li>организация формы обратной связи;</li>
89
<li>организация формы обратной связи;</li>
90
<li>поддержка интернет-магазина;</li>
90
<li>поддержка интернет-магазина;</li>
91
<li>онлайн-запись;</li>
91
<li>онлайн-запись;</li>
92
<li>организация простейших рассылок.</li>
92
<li>организация простейших рассылок.</li>
93
</ul><p>Есть в платной и бесплатной версиях. Обладает приятным и понятным на интуитивном уровне интерфейсом. Команды здесь устанавливаются без существенных навыков программирования. Подойдет для bots средних масштабов.</p>
93
</ul><p>Есть в платной и бесплатной версиях. Обладает приятным и понятным на интуитивном уровне интерфейсом. Команды здесь устанавливаются без существенных навыков программирования. Подойдет для bots средних масштабов.</p>
94
<h3>ChatForma</h3>
94
<h3>ChatForma</h3>
95
<p>Chatforma - проект, который подходит для организации бизнес-чатов. У него есть форма ввода, настройки интернет-магазинов, разнообразные опросы и рассылки. Присутствует возможность внедрения тегов. Этот прием позволяет распознавать команды.</p>
95
<p>Chatforma - проект, который подходит для организации бизнес-чатов. У него есть форма ввода, настройки интернет-магазинов, разнообразные опросы и рассылки. Присутствует возможность внедрения тегов. Этот прием позволяет распознавать команды.</p>
96
<p>Chatforma предоставляет разработчику огромное количество сервисов интеграции. Выпускается в триал-версии (на 15 дней), а также в платной. Мобильной версии нет (у предыдущих приложений она присутствует). Идеален для крупных компаний. Обычным пользователям и мелким магазинам лучше выбрать более дешевый и простой аналог.</p>
96
<p>Chatforma предоставляет разработчику огромное количество сервисов интеграции. Выпускается в триал-версии (на 15 дней), а также в платной. Мобильной версии нет (у предыдущих приложений она присутствует). Идеален для крупных компаний. Обычным пользователям и мелким магазинам лучше выбрать более дешевый и простой аналог.</p>
97
<h3>Puzzlebot</h3>
97
<h3>Puzzlebot</h3>
98
<p>Одна из мощнейших платформ для конструирования сложных ботов. Предусматривает:</p>
98
<p>Одна из мощнейших платформ для конструирования сложных ботов. Предусматривает:</p>
99
<ul><li>обычные команды;</li>
99
<ul><li>обычные команды;</li>
100
<li>возможность работы с группами и каналами;</li>
100
<li>возможность работы с группами и каналами;</li>
101
<li>юзерботы;</li>
101
<li>юзерботы;</li>
102
<li>гибкие рассылки.</li>
102
<li>гибкие рассылки.</li>
103
</ul><p>Это - лучшее решение для тех, кто не хочет изучать принципы программирования и самостоятельно прописывать код bots. Puzzlebot имеет понятный и приятный глазу интерфейс, выделяется быстродействием и функциональностью.</p>
103
</ul><p>Это - лучшее решение для тех, кто не хочет изучать принципы программирования и самостоятельно прописывать код bots. Puzzlebot имеет понятный и приятный глазу интерфейс, выделяется быстродействием и функциональностью.</p>
104
<h3>BotMother</h3>
104
<h3>BotMother</h3>
105
<p>Botmother поможет создать без программирования бота в Telegram. Сервис включает в свой состав все стандартные команды и возможности. Дополнительно предлагает пользователю разнообразные средства интеграции и уникальные функции.</p>
105
<p>Botmother поможет создать без программирования бота в Telegram. Сервис включает в свой состав все стандартные команды и возможности. Дополнительно предлагает пользователю разнообразные средства интеграции и уникальные функции.</p>
106
<p>BotMother обладает не самым простым интерфейсом, из-за чего с ним будет достаточно трудно справиться новичкам. Но, если потратить время и постараться изучить приложение, получится научиться новому при программировании bots.</p>
106
<p>BotMother обладает не самым простым интерфейсом, из-за чего с ним будет достаточно трудно справиться новичкам. Но, если потратить время и постараться изучить приложение, получится научиться новому при программировании bots.</p>
107
<h2>Быстрая разработка</h2>
107
<h2>Быстрая разработка</h2>
108
<p>Для того, чтобы научиться писать "роботов-помощников" для мессенджеров, можно отучиться в техникуме на разработчика или поступить в ВУЗ. Некоторые предпочитают заняться самообразованием и больше практиковаться.</p>
108
<p>Для того, чтобы научиться писать "роботов-помощников" для мессенджеров, можно отучиться в техникуме на разработчика или поступить в ВУЗ. Некоторые предпочитают заняться самообразованием и больше практиковаться.</p>
109
<p>Но лучший и самый надежный способ получения необходимых навыков программирования ботов - это обучение на дистанционных онлайн курсах. Отличное решение для тех, кто хочет учиться и работать. Программы составлены по самым популярным IT-направлениям так, чтобы в них мог разобраться даже новичок. Образовательные курсы рассчитаны на срок до 12 месяцев. В конце будет выдан электронный сертификат, подтверждающий навыки ученика.</p>
109
<p>Но лучший и самый надежный способ получения необходимых навыков программирования ботов - это обучение на дистанционных онлайн курсах. Отличное решение для тех, кто хочет учиться и работать. Программы составлены по самым популярным IT-направлениям так, чтобы в них мог разобраться даже новичок. Образовательные курсы рассчитаны на срок до 12 месяцев. В конце будет выдан электронный сертификат, подтверждающий навыки ученика.</p>
110
<a></a>
110
<a></a>