HTML Diff
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>