Как сделать чтобы телеграм бот работал постоянно

Добавил пользователь Владимир З.
Обновлено: 10.09.2024

Что нужно знать, прежде чем создавать бота в Telegram

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

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

Но так или иначе сначала бота нужно создать. Делается это следующим образом.

Как создать бота в Telegram

Чтобы сделать своего бота, понадобится другой бот — BotFather. Это официальный инструмент для создания ботов и управления ими. Найти BotFather можно через поиск. Обратите внимание на синюю галочку рядом с именем: именно она укажет на правильный чат.

Кликните по кнопке меню и выберите /newbot.

Следующим шагом нужно придумать боту никнейм. Он должен быть уникальным и заканчиваться на bot. Если эти условия не выполняются, BotFather просит сочинить другой.

Далее BotFather предоставит ссылку на созданного бота и токен для обращения к нему. Ссылка нужна для поиска бота, ею можно делиться. А вот токен — длинный набор символов — вещь секретная. Это своеобразный ключ, с помощью которого осуществляется управление программой. Сохраните его в надёжном месте и никому не показывайте.

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

Как настроить бота в Telegram

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

Также при желании можно добавить описание (/setdescription), прикрепить аватар (/setuserpic) или сменить имя (/setname). Все эти действия осуществляются через меню в BotFather. Если у вас несколько ботов, то сначала придётся выбрать нужный из списка.

В качестве наглядного примера мы создадим простого чат-бота с помощью бесплатного сервиса Manybot. Он не требует навыков программирования и работает прямо в Telegram. Наш бот будет предлагать полезную информацию для читателей: книги и подкасты Лайфхакера, а также открытые вакансии и возможность связи с редакцией. Принцип работы несложный: пользователь переходит в нужный чат по ссылке, запускает одну из команд, нажимая на кнопку в меню, и получает ответ на свой вопрос. Вот какие этапы включает настройка.

Подключение бота

Затем выбрать удобный для вас язык.

Добавьте описание бота, которое будут видеть пользователи, или пропустите этот шаг.

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

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

Добавление кнопок в меню

Выберите нужную команду.

По такому же принципу добавьте кнопки для других команд.

Проверка работы бота

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

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

Инженер-механик, хорошо разбираюсь в технике и технологиях. Более 10 лет пользуюсь Mac и iPhone, знаю всё об экосистеме и продуктах Apple. Не только пишу, но и умею и люблю работать руками. 3 года трудился автослесарем, машину чиню только сам. Спроектировал и с нуля построил дом своими руками, накопив по ходу немало опыта. Обожаю олдскульные видеоигры и комиксы, играю на гитаре.

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

У вас должен быть установлен Python 3. Если нет, то вы можете прочитать здесь как это сделать на Windows.


Откройте Телеграм и найдите через Поиск бота BotFather.


Вы найдете много чего с таким названием. Вам нужен тот, что с галочкой синей. Выберите этого бота и запустите нажав на кнопку "Start". BotFather вам покажет все свои команды, используя которые, вы будете потом управлять своими ботами.

Для создания нового бота, вам нужно нажать на команду /newbot или вы можете сразу написать ему так. Вас попросят дать название своему боту.

Здесь вы можете ввести любое имя. Имя можно потом изменить. Я назову своего бота "Валютный бот". После ввода имени нужно придумать уникальный ник для бота(username). Этот ник должен быть на английском и всегда заканчиваться на слово Bot. И еще там не должно быть пробелов. Имейте ввиду, что все популярные названия уже заняты кем-то другим. Поэтому я назову Currency005Bot.


В самом начале есть ссылка на вашего бота, начинающаяся на t.me/. Нажав на нее вы перейдете к вашему боту. Также эту ссылку можно отправлять всем.

А красным цветом внизу написан токен вашего бота. Этот токен как пароль от вашего бота. Его не нужно никому сообщать. Мы будем использовать его при написании программы для бота.

У вас официально есть бот! Конечно, он пока ничего не умеет. Только родился.

2. Первое слово бота Чтобы продолжить дальше, вам нужно научиться работать в Командной строке. Вы можете прочитать статью Работа в терминале в Windows, Linux и MacOS (cli, shell, bash, cmd) .

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

Откройте ваш любимый редактор кода (Sublime Text, PyCharm, Notepad++, Idle и т.п.). Создайте новый пустой файл. Сохраните его с названием bot.py в любую папку(желательно не слишком глубоко, а для начала можно сразу в корне диска С: ).

В этом файле будет написана наша программа для бота. Давайте для начала напишем простую программу, которая печатает текст "Hello World!". Для этого напишите в файле:

Теперь попробуем запустить его. Откройте Командную строку(Windows) или Terminal(Linux, Mac). Использую команду cd перейдите в папку, где вы сохранили файл bot.py.

Эта команда выходит из текущий папки в родительскую папку:

И нажмите Enter. Ваша программа запустится и напечатает "Hello, World!". Мы умеем запускать программы на Python.

Команда print() в языке Python печатает текст на экране. А в скобках нужно указать что именно нужно напечатать. Наш текст для печати мы указали в кавычках. В Python в кавычках записывает любые текстовые данные. И текстовые данные называются строкой или string.

Кроме текстовых данных есть еще числовые данные. И команда print() также умеет их тоже печатать:

Как вы заметили для чисел кавычки не нужны.

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

Мы сначала сохранили в переменной х строку "Hello world" а потом распечатали x. Если вы сохраните такой файл и запустите его снова в командной строке командой:

То вы увидите что программа напечатала на экран не "х", а "Hello World". Потому x - это переменная, которая хранит в себе значение "Hello World".

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

Скачиваем библиотеку для создания бота

Чтобы написать бота в Python, нам нужно скачать библиотеку(или пакет) python-telegram-bot для Python. Библиотеки - это дополнительные ресурсы для Python, которые улучшают его способности. Если Python что-то не умеет, вы можете скачать ему библиотеку и он научится как это делать.

Чтобы скачать библиотеку мы будем использовать команду pip. А Pip - это штучка, которая умеет скачивать библиотеки и удалять их. Его еще называют Пакетным менеджером.

Откройте командную строку и напишите:

Значит успешно установлено. Теперь мы можем использовать его.

Пишем программу для бота

Откройте ваш код и удалите все что вы там написали. И для начала создайте переменную token и присвойте этой переменной токен вашего бота. Помните? Когда мы создавали бота, BotFather отправил нам красный токен. У вас будет примерно так:

Токен это строка, поэтому она в кавычках. Здесь мой токен, а вы используйте свой.

Теперь мы подключим разные классы(классные штучки) с библиотеки телеграма, чтобы использовать их в своей программе. Уберите токен вниз и в самой первой строчке напишите:

Мы подключили два класса: Updater и MessageHandler. В языке Python имеет значение регистр букв(заглавные, строчные буквы). Обязательно нужно писать именно так.

а про CommandHandler расскажу чуть ниже.

Давайте создадим новый объект Updater и запустим его. Создается он вот так:

Теперь запускаем Updater:

Первая строчка запускает, а вторая строчка ждет пока вы нажмете Ctrl+C, а когда нажмете завершает работу бота.

Сейчас ваш код должен выглядеть примерно таким:

я незаметно добавил строчку print("Бот запущен. Нажмите Ctrl+C для завершения"). Вы тоже добавьте. Пора попробовать запустить бота. Сохраните файл. И запустите его:

Хотя бот запущен, он все равно ничего не имеет. Какой бесполезный бот! Нажмите Ctrl+C чтобы завершить его работу. Обычно завершение занимает 3-5 секунд.

Добавляем обработчик команды
У ботов есть команды. Они начинаются со знака / (слэш). Например: /newbot, /start. У каждого бота они свои. Но у всех есть команда /start, которая запускается когда кто-то начинает чат с ботом.

Мы сейчас сделаем так, чтобы наш бот представлялся, когда кто-то пишет ему команду /start. Для этого нам нужно создать обработчик для команды start. Такой обработчик создается с помощью класса CommandHandler.

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

Сегодня мессенджер Телеграм набирает все большую популярность. У многих он стал ассоциироваться именно с ботами. Связано это с тем, что некоторые руководители каналов/групп не могут представить свою работу в Telegram без роботов-помощников, которые значительно облегчают нашу жизнь. А новые пользователи, услышавшие про ботов, спрашивают, как подключить бота в Телеграм? Давайте найдем решения.

Именно об этом мы и поговорим в нашем сегодняшнем материале.

Зачем подключать бота в Телеграм?

Зачем подключать бота в Телеграм

Давайте для начала определимся, что это такое? Бот – это программа (строчки кода), написанная программистом в целях выполнения определенных задач.

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

Расширение возможностей

возможности ботов Телеграм безграничны

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

Хорошим примером является бот-статистик. Он умеет собирать статистику по каналу или его участникам, а затем по запросу руководителя он ее показывает. Это очень удобно, особенно когда вы беспокоитесь о дальнейшей стратегии развития. Ведь полученные данные помогут определить целевую аудиторию, какой контент более интересен людям и многое другое. В самом же Телеграм такого инструмента нет.

Все процессы делают роботы на полном автомате

автоматизация всех процессов

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

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

Они бесплатные

боты делают все бесплатно

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

Платными программы могут быть только в случае, если вы заказываете их разработку у профессионалов. Например, вы не нашли бота с нужным функционалом и поэтому, обращаетесь к программистам.

Как подключить на ПК?

Давайте попробуем подключить какого-нибудь бота. Для примера возьмем довольно интересного кандидата под названием Shmalala Bot. Это чат-бот, способный поднять настроение всему чату, он будет рассказывать интересные истории и многое другое.

Ниже приведена инструкция, просто следуйте ей:

Делаем бота в конструкторе и подключаем его

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

Данный процесс будет несколько сложнее, но не настолько, чтобы он вызвал какие-либо трудности.

Готово. Наш помощник создан и настроен. И все что осталось сделать – это добавить его в нужный канал/группу и назначить администратором.

Как подключить на смартфоне?

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

Итак, для начала давайте попробуем снова подключить нашу Shmalala Bot.

находим робота Шмалала и добавляем его - add member

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

Настройка автопостера в Телеграм

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

Готово! Как видите, процесс настройки на ПК и на мобильной версии мало чем отличается. Самое большое отличие – это интерфейс.

Советы и рекомендации

советы по настройке и подключению бота Телеграм

При подключении роботов в Телеграм у вас могут возникнуть определенные проблемы и вопросы. Мы постарались дать ответы на некоторые из них.

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

Как я ни пытался объяснить, и вдолбить в головы, что "Какая-то ошибка" это НЕ ОШИБКА, что, чтобы решить проблему, мне нужно знать текст - без толку. Затем лезем в журнал, ищем ошибку, разбираем её, начинаем решать.

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

Возможно, это будет полезно для кого-то кроме меня)

1. Заходим в @BotFather и создаем нового бота



1.1. После создания вы получите API ключ, это и есть Токен. (выделен на скриншоте)




2. Заходим в нового бота и "активируем" его /start

3. Если взаимодействие будет только с самим ботом то переходим на шаг "6"

4. Добавляем бота в группу и в группе тоже пишем /start (что бы бот запустился и в группе)

5. Теперь нужно получить Chat_ID, для этого в адресной строке своего браузера нужно сделать HTTP Get-запрос к вашему боту:
https://api.telegram.org/bot"АПИ_ВАШЕГО_БОТА"/getUpdates


Вместо "АПИ_ВАШЕГО_БОТА" пишем Токен, полученный в шаге "1". . БЕЗ КАВЫЧЕК.

Перед вами откроется окно с JSON ответом от бота.



Если же вы добавили бота в Группу, тогда, ищем тоже самое Только уже по группе: message_id > chat > (id, со знаком минус) это будет id группы. Ниже будет название группы и параметр type будет со значением "group" (См. Скриншот 2).



Полученный id и будет тем самым значением, которое нужно передать в переменную Chat_ID

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

Читайте также: