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

Пишем ему /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
Добавить метки

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

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

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

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

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

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

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

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

3. Как создать робота?

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

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

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

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

Встроенный режим

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

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


Игры

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



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

Клавиатуры

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

На данный момент для отображения на клавише могут использоваться эмодзи и текст. Вот несколько примеров таких клавиатур:


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

Команды

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

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

Команда должна начинаться с символа косой черты «/» и не может быть длиннее 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 — Удалить бота и его имя пользователя.
Пожалуйста, имейте в виду, что для применения настроек на сервере, возможно, потребуется некоторое время.

Разберемся, как легко и быстро создать Телеграм-бота

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

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

Начнем разбираться по порядку.

Бот в Телеграм: что это

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

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

Чтобы узнать подробнее о том, как работают роботы в Телеграм, рекомендуем .

Для организации бизнеса в Телеграм создание ботов - настоящее спасение. Они сокращают трудозатраты и вполне способны разгрузить или вовсе заменить несколько сотрудников сразу.

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

Спешим вас переубедить: простого Телеграм-бота можно собрать за несколько минут самостоятельно без знания языков программирования и кода.

Как создать бота в Телеграм

Подготовительный этап

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

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

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


Блок-схема - важный помощник в создании Телеграм-бота

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

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

  • Воспользоваться нашей ;
  • Посмотреть наш .

Пошаговый алгоритм, как создать бота для Телеграм

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


Перейдем к пошаговому процессу создания

После прохождения подготовки, необходимо идти строго по сценарию :

  • Перейти по прямой ссылке или найти через поисковую строку прародителя всех роботов Телеграм: @BotFather . Просто скопируйте это название вместе с символом @.
  • Кликните по нему и нажмите “Запустить”.
  • Телеграм-робот отправит вам целый список команд. На первом этапе нас будет интересовать самая первая из них: /newbot. Щелкаем по ней.
  • Дальше в строке ввода текста напишите, как будет называться ваш робот.

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

  • Выберите имя. Обратите внимание, в конце обязательно должны быть буквы bot .
  • Затем BotFather предложит загрузить аватарку для Телеграм-бота и придумать его описание. В этом же сообщении вам будет выслан токен API.

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

На этом этапе вас уже можно поздравить с созданием собственного робота. Осталось совсем немного - завершить его настройку.

Продолжаем:

  • Запускаем робота @Manybot.
  • Добавляем Телеграм-бота командой /addbot .
  • Копируем и отправляем высланный @BotFather токен.
  • Пишем, для чего предназначен наш бот.

В принципе, здесь работа по созданию заканчивается. Можно сразу настроить автопостинг из соцсетей: /autoposting .

Пробовали ли вы самостоятельно создать ботов?

Poll Options are limited because JavaScript is disabled in your browser.

Как создать бота в Телеграм: что еще нужно знать

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

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

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

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

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


Поговорим про сторонние сервисы, которые помогают создать Телеграм-ботов

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

Делаем простого бота для публикации новостей в канал и автоматические ответы на вопросы за 6 шагов.

В закладки

Материал подготовлен при поддержке

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

В этой инструкции мы рассмотрим наиболее простой способ создать бота собственными руками и объясним, как он работает.

Начнем с разработки бота, который сможет автоматически отправлять в Telegram-канал новости компании, опубликованные на сайте или в Facebook.

Шаг 1. Создаём бота в Telegram

Бот в Telegram создается при помощи другого бота под названием BotFather . Отправляем ему команду /newbot, выбираем имя, которое будет отображаться в списке контактов, и адрес. Например, «Бот для DTF» с адресом «dtf_news_bot».

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

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

Шаг 2. Создаём канал в Telegram

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

Для поиска бота можно использовать его адрес. Например, «dtf_news_bot».

Шаг 3. Создание условия

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

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

IFTTT расшифровывается как If This Then That

Переходим в раздел IFTTT "My Applets", нажимаем на кнопку "New Applet " и далее на ссылку "This". Находим в списке функций триггер Feed , New feed item и указываем URL-адрес нашей RSS-ленты. Например, у Wordpress-сайтов она обычно расположена по адресу example.com/feed/.

Вместо RSS-ленты можно отслеживать появление новых записей в Twitter или Facebook -аккаунте - для каждой функции в IFTTT предусмотрены отдельные модули.

Теперь переходим ко второму шагу - выбираем действие, которое будет выполняться при обнаружении новой записи в RSS. Нажимаем на "That" и ищем Maker Webhook , "Make a web request" - с помощью этого модуля можно отправлять запросы к любым сервисам. В нашем случае - к боту в Telegram.

В открывшейся форме в поле URL нужно указать ссылку https://api.telegram.org/botТОКЕН /sendMessage, подставив в неё токен, сгенерированный на первом шаге. Метод: POST, тип контента: application/json.

Body - поле для шаблона запроcа, который будет отправляться в Telegram. В нём указываем, в какой канал нужно отправить сообщение и что в нём должно быть написано:

{"chat_id":"@адрес_канала", "text":"{{EntryTitle}} {{FeedUrl}}"}

  • chat_id - адрес канала, в который необходимо отправить сообщение. Таким образом одного бота можно подключить сразу к нескольким каналам. В качестве адресата можно указать и конкретного пользователя. В таком случае вместо адреса канала необходимо указать его ID (можно получить при помощи бота).
  • text - содержание сообщения. Например, заголовок материала из RSS (EntryTitle), его содержание (EntryContent) и ссылка (FeedUrl). Список доступных опций можно посмотреть по кнопке Ingredient.

Если всё настроено верно, бот отправит сообщение из RSS-ленты в канал. У триггера в IFTTT есть задержка, поэтому сообщение, появившееся в RSS-ленте, отправится в Telegram не сразу, а спустя 30-60 минут.

В качестве условия для отправки сообщения можно выбрать любой другой сценарий, доступный на IFTTT. Например, Weather Underground умеет каждый день отправлять сообщение с прогнозом погоды на завтра. Триггер Stocks можно настроить на отправку стоимости акций при закрытии торгов.

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

Шаг 4. Подключаем сервер

На этом этапе понадобится веб-хостинг и сертификат SSL, который можно получить бесплатно с помощью сервиса Let"s Encrypt.

Удобнее всего создать отдельный поддомен для бота - например, bot.example.com - и разместить на нём один файл index.php. Внутри файла размещаем код простейшего бота c сайта Telegram.

В код бота нужно внести всего два изменения:

  • в строке define("BOT_TOKEN", "12345678:replace-me-with-real-token"); вместо 12345678:replace-me-with-real-token написать токен, полученный на первом шаге;
  • в строке define("WEBHOOK_URL", "https://my-site.example.com/secret-path-for-webhooks/"); вместо https://my-site.example.com/secret-path-for-webhooks/ указать URL-адрес файла с кодом для бота: https://bot.example.com/index.php.

Шаг 5. Связываем Telegram-бота и сервер

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

Для этого понадобится консоль. У разных хостинг-провайдеров она может находиться в разных разделах интерфейса управления сайтом. Кроме того, можно воспользоваться программой Terminal на macOS, введя через неё команду ssh имя_пользователя@адрес_домена .

После ввода пароля, печатаем для нашего поддомена простую команду:

php -f /var/www/bot.example.com/index.php

Nice to meet you - ответ бота на отправленное пользователем сообщением.

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

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

Что такое Telegram bot?

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

  1. Шлют команды и запросы, запуская чаты или добавляя в каналы, группы либо диалоги. Это актуально и хорошо работает для новостных ботов, а также чат-ботов.
  2. Отправляют сообщения в строку набора, указав название бота и свой вопрос. Это дает возможность общаться с ботом, интегрированным в любые каналы и т. д.

Боты применяются на всех типах сайтов (например, для ставок), в мессенджерах, социальных сетях, и в Телеграмм они особенно популярны.

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

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

Вот неполный и весьма обобщенный список их возможностей.

  1. Рассылать новости и уведомления . Их можно запрограммировать на подбор и выдачу нужных материалов. Как только на интересующем вас веб-сайте или в группе, аккаунте появится актуальный материла, bot тут же его пришлет.
  2. Интеграция со сторонними ресурсами . Она может наполнять паблики информацией, черпая ее из других источников.
  3. Для продажи или получения оплаты. В него может быть интегрирована функция приема платежей за услуги или работа в качестве магазина.
  4. Создание сценариев. Bot может слать информацию об услугах, новостях или делать переводы. В ваших силах заставите его выполнять любые задачи.
  5. Игры (много- и однопользовательские). Разработчикам предлагается богатый набор опций в HTML5 и возможность делать разнообразные игры - от простых аркадных игрушек и логических задач до сложных 3D-стрелялок.
  6. Строить социальные связи. Имеется в виду сводить людей, занятых поиском партнеров для общения, на основании их смежных хобби, интересов и близкого местоположения относительно друг друга.

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

Для каких целей используют ботов в Telegram?

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

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

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

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

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


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

Программирование команд

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

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

Начнем с ввода.


Таким образом можно создавать любые команды. Например, банить людей за определенные слова.

Редактирование команд

Это полезная функция, позволяющая поддерживать актуальность всех созданных команд.


Эти несложные решения помогут немного обучить вашего бота.

Создание задач

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

Автопостинг

Прекрасное решение, чтобы ретранслировать в bot посты и информацию с других социальных сетей или RSS. Удобный инструмент для шейринга постов на свою аудиторию через бота.


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

Отложенные публикации

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

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


Программирование кнопок

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

  1. Пишите /commands.
  2. Клацайте на «Настроить главное меню» (находится внизу экрана).
  3. Дале тапните по «Добавить пункт в меню».
  4. Кликните на команду, которую желаете привязать к кнопке.
  5. Задайте наименование будущей клавиши.

После этого вы ее обнаружите внизу диалогового окошка.

Вот так и создается бот. Далее все в ваши руках, вы можете программировать разработанный bot, как захотите. Чтобы просмотреть подсказки введите /help. Это поможет немного лучше разобраться с функционалом. Напоминаем, что для реализации действительно крутого бота для заработка (по меркам существующих) нужно приложить немало сил и обратиться к специалисту.