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

Nokia 05.09.2019
Nokia

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

Существующие варианты

Всего доступно три способа создания бота в Телеграмм:

  1. Создать в конструкторе. Это может быть другой сервис мессенджера, например, @manybot. Или онлайн оболочка, такая как Chatfuel.
  2. Самостоятельная разработка. Для этого необходимо иметь навыки программирования и разворачивания серверных приложений, начиная с установки программного обеспечения.
  3. Покупка. Сейчас появилось множество компаний и частных разработчиков, предлагающих индивидуально под заказ. Цены начинаются от 500 рублей, но в среднем составляют 10-15 тысяч.

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

Процесс программирования


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

  1. Написание подробного технического задания. Оно поможет выделить основные требования к программе и структурировать процесс.
  2. Выбор среды программирования.
  3. Покупка хостинга или поиск бесплатного. Требования к нему определяются выбранной средой. Например, для разработки на РНР обязательно необходим сертификат SSL.
  4. Настройка программного обеспечения.
  5. Кодинг.
  6. Разворачивание. Сложность зависит от выбранной среды. Для Pythona это целый процесс, а на РНР все делается относительно просто.
  7. Отладка.

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

Языки программирования

Как сделать бота в Телеграм и какой язык лучше выбрать? В принципе вы можете выбрать любой язык, который поддерживает серверное программирование и отправку запросов по протоколу https. Чаще всего для , также или C++, C#, Ruby.

Привязка оплаты

Многие сервисы предназначены для упрощения процесса покупок в сети. В разработке используются методы Payment API, которые позволяют привязать системы оплаты к программе. Осуществляется процесс по алгоритму:

  1. Разработчик внедряет ключи и выбирает подключенного к системе провайдера для выполнения транзакций.
  2. В боте появляется кнопка «Pay».
  3. Пользователь робота может совершать платежи, указывая свои данные. Они привязываются к его аккаунту. Доступны стали и мобильные платежи.
  4. Финансовые транзакции проводятся напрямую между клиентом и платежной системой. Телеграмм в этом процессе не участвует. Его задача – предоставить платформу для реализации функций. За счет этого данные о платежах не доступны третьим лицам.
  5. Клиент получает отчет о транзакции, в который включены все данные о покупке.

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

Но обещают по отзывам блокировать ненадежных провайдеров. На сегодняшний день можно создать бота в Телеграмме для продажи за Киви и Яндекс.Деньги.

Создать бота самому своими руками

Симулятор собеседника Telegram - это программа, которая запускается и работает на вашей стороне. Она посылает запросы к АПИ Telegram Bot, который является достаточно простым:

  • Программа обращается к установленным параметрам по ссылке;
  • Телеграмм отвечает JSON массивом.

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

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

Логика будет находиться в классе tornado.web.RequestHandler, который реактор принимает для обработки запросов.

CMD обозначает словарь всех доступных команд. Send_reply – это функция отправления ответа. Она принимает готовый массив Message.

Команды

Сначала следует научить программу бота в Telegram константам /start и /help:

Объект message[‘from’] является массивом типа User. От него бот получает данные пользователя, его ID и имя. Будет лучше, если функция ответов будет принадлежать message[‘chat’][‘id’]. Так при общении там будет User, а в случае чата – id последнего.

Установке /start отводится сразу две функции:

Команда без параметров нужна для вывода данных о боте;
с параметрами – для идентификации.

Теперь вы можете создать любое собственное задание. К примеру, /base64.

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

Если пользователь Телеграмм захочет увидеть перечень доступных заданий (например, чтобы узнать, как убить программу после выполнения задачи), ему нужно будет написать «/».

Как научить бота говорить

Телеграмм присылает полностью все сообщение. Ограничение на необходимость ставить перед командами слеш создано только для удобства пользователей. Это позволяет научить программу отвечать по-человечески. Для того чтобы дать ей возможность получать в группах все сообщения, нужно написать /setprivacy помощнику @BotFather, отключая, таким образом, приватность.

В Handler следует добавить обработчик:

В список команд нужно включить речь:

Значение 75 здесь отображает вероятность того, что хочет сказать пользователь. Константа format_map удобна для описания требующих подстановки строк.

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

Отсылаемые сообщения могут быть не только текстовыми

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

Например, можно расширить словарь RESPONSES так:

И будем ловить сообщения:

Теперь объект Message не включает в себя текст, поэтому нужно изменить send_reply:

Так робот будет иногда присылать картинку вместо времени:

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

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

Шаг 1

Создаем профиль на iii.ru

Видим кнопку «Создать инфа» — она перебросит вас на страницу регистрации

Проходим элементарную регистрацию (можно войти через одну из трех социалок на выбор)

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

Так выглядит уникальный идентификатор (все, что идет после iii.ru/inf/)

Шаг 2

Скачиваем программу с сайта qsme.ru (название программы банально до невозможного «Бот»). Есть версии под Windows, Linux и MacOS. Перед установкой программы нужно убедиться, что у вас стоит Java Runtime Environment, так как без него программа даже не запустится (скачать последний JRE можно , если что). После того, как вы установили JRE и установили программу «Бот» — «софтина» запросит у вас ключ. Не бойтесь — полный функционал программы доступен бесплатно. Все, что нужно сделать — запросить ключ на почту и после получения ввести его в поле, которое появляется после загрузки программы. Программа позволит вам использовать один профиль любой из возможных социалок, с которыми работает Qsme «Бот» (Одноклассники, Мамба, Вконтакте и LovePlanet).

В нашем случае это Вконтакте 🙂

Шаг 3

Назначение заданий — это самый важный шаг, после которого ваш бот «заговорит». 🙂 Необходимо найти кнопку «Настроить задания», которая находится прямо на новосозданной анкете и настроить приблизительно так, как вы видите на скриншоте ниже.

Приблизительные настройки задания для анкеты

Остальные настройки, как говорится, по вашему вкусу. 😉

Финита ля комедиа

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

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

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

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

Итак, теперь перейдем непосредственно к процессу разработки. Сначала вам нужно запустить приложение и в поиске ввести «Manybot». Он представляет собой некий конструктор ботов Telegram , поэтому в процессе вы точно не столкнетесь с трудностями:

Затем начинайте следовать инструкциям робота и нажимайте Start:

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

Затем будет предложено добавить в контакты BotFather, который в кругах приложения известен как родоначальник всех ботов, которые когда-либо создавались в мессенджере. Начать диалог с ним довольно-таки легко. Просто наберите и отправьте сообщение /newbot:

С этого момента и начинается непосредственная разработка ботов для Telegram . Первым делом, дайте имя своему роботу. Придумайте его и отправьте текст с именем в чат. Помните, что имя бота должно заканчиваться на «bot»:

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

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

Все сложилось удачно? Тогда это говорит о том, что мы успешно пишем бота для Telegram . С данного момента вы будете работать конкретно с вашим ботом. Посторонние диалоги больше не понадобятся:

После попробуйте нажать кнопку «Настройки», дабы вы смогли задать цель жизни робота. Если вам необходима автоматическая трансляция обновлений на сайте, выберите функцию «Автопостинг»:

Трансляция может осуществляться из YouTube, VK, Twitter и RSS:

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

Итак, вопрос о том, как написать бота для Telegram , может считаться закрытым. Вы сами смогли убедиться в том, что ничего сверхъестественного в этом процессе нет. Самое главное – ваши пользователи всегда будут оставаться в курсе событий.

Продолжаем цикл статей посвященный написанию чат-ботов для социальных сетей на php. Прошлый раз мы создавали бота для Телеграм, а в этот раз я расскажу как сделать аналогичного бота для ВКонтакте. Забегая вперед скажу, что сегодня мы не будем использовать ВКшный PHP SDK и наш бот будет состоять лишь из одного файла (про SDK поговорим в другой раз).

Также, как и в случае с Телеграмм ботом нам потребуются минимальные навыки программирования на php, хостинг и ssl сертификат. Готовы? Приступим!

Что будет уметь наш бот?

Возможности бота ограничены лишь фантазией программиста (благо api вк многое позволяет), поэтому для примера наш бот будет уметь лишь самое простое, а именно:

  1. Отправлять уведомления при вступлении в сообщество;
  2. Отвечать в случае если пользователь отправил ЛС в чат группы;
  3. Отправлять уведомление в момент когда пользователь покидает группу.

Начинаем создавать бота

Прежде чем начнем писать код, создадим ключи доступа для нашего бота. Для этого перейдем в Управление сообществом, выберем справа «Работа с API» и нажмем на «Создать ключ».

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

Теперь перейдем во вкладку Callback API->Настройки сервера. Здесь нас интересуют сразу 3 вещи: Адрес, Строка, которую должен вернуть сервер и Секретный ключ. Адрес пока пропустим (в целом вы можете сразу его заполнить если определились с тем, где будет лежать основной файл нашего php-бота, но поскольку сам файл еще не создан, то ВК будет ругаться, ибо сразу после ввода url соцсеть отправляет POST-запрос на проверку доступности бота по указанному адресу). Скопируем значение напротив «Строка, которую должен вернуть сервер» (confirmationToken). (в нашем случае это tt32e1 . Придумает Секретный ключ (secretKey). Не забываем нажать «Сохранить».

Итак, на выходе у нас должны быть где-то записаны 3 вещи:

  1. confirmationToken
  2. token
  3. secretKey

Теперь можно приступить к написанию php кода.

Как создать бота в ВК (кодинг на php)

Начинаем писать файл нашего бота ВКонтакте. Назовем его vk_bot.php. Напомню, что код необходимо писать в кодировке UTF-8 (без BOOM).

Определимся с константами:

if (!isset($_REQUEST)) {return;}
// Строка, которую должен вернуть сервер (См. Callback API->Настройки сервера)
$confirmationToken = "tt32e1";
// Ключ доступа сообщества (длинная строчка которую получили нажав "создать ключ")
$token = "тутбудетмногобуквицифр";
// Секретный ключ. (Задаем в Callback API->Настройки сервера)
$secretKey = "testKeyMyBot";

Теперь проверим поступившие данные:

// Получаем и декодируем уведомление
$data = json_decode(file_get_contents("php://input"));
// проверяем secretKey
if (strcmp($data->secret, $secretKey) !== 0 && strcmp($data->type, "confirmation") !== 0) {return;}

Используя switch проверим, что находится в поле «type» (какое событие сработало и в зависимости от этого сформируем ответ).

// Проверяем, что находится в поле "type"
switch ($data->type) {
// Запрос для подтверждения адреса сервера (посылает ВК)
case "confirmation":
echo $confirmationToken; // отправляем строку для подтверждения адреса
break;
// Если это уведомление о новом сообщении...
case "message_new":

$userId = $data->object->user_id;



$user_name = $userInfo->response->first_name;

$request_params = array(
"message" => "{$user_name}, Ваше сообщение получено!
В ближайшее время админ группы на него ответит.",
"user_id" => $userId,
"access_token" => $token,
"v" => "5.0"
);



break;
}

Небольшое пояснение:

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

{«type»: <тип события>, «object»: <объект, инициировавший событие>, «group_id»: }

В зависимости от того, что нам пришло в type, мы можем понять, какая структура будет у объекта object. Полный список возможных событий см. в официальной справке ВКонтакте.

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

Теперь можно закачать наш с вами файл на сервер и заполнить в настройках адрес (если не сделали этого ранее).

Кроме этого необходимо перейти во вкладку «Типы событий» и поставить галочку напротив «Входящие сообщения».

Теперь можем проверить работу:

Как видим - все пашет. По сути у нас уже получилось сделать бота в вк. Давайте его немного прокачаем.

Добавим в конструкцию case еще 2 условия. Первое - отправит уведомлений в случае если человек вступил в нашу группу:

// Сработало событие - человек вступил в группу
case "group_join":
// получаем id автора сообщения
$userId = $data->object->user_id;
// через users.get получаем данные об авторе
$userInfo = json_decode(file_get_contents("https://api.vk.com/method/users.get?user_ids={$userId}&v=5.0"));
// Вытаскиваем имя отправителя
$user_name = $userInfo->response->first_name;
// Через messages.send используя токен сообщества отправляем ответ
$request_params = array(
"message" => "Добро пожаловать в группу, {$user_name}!",
"user_id" => $userId,
"access_token" => $token,
"v" => "5.0"
);
$get_params = http_build_query($request_params);
file_get_contents("https://api.vk.com/method/messages.send?". $get_params);
echo("ok"); // Возвращаем "ok" серверу Callback API
break;

Второе - аналогичное уведомление, но только в момент, когда человек покинет сообщество:

// Сработало событие - человек покинул группу
case "group_leave":
// получаем id автора сообщения
$userId = $data->object->user_id;
// через users.get получаем данные об авторе
$userInfo = json_decode(file_get_contents("https://api.vk.com/method/users.get?user_ids={$userId}&v=5.0"));
// Вытаскиваем имя отправителя
$user_name = $userInfo->response->first_name;
// Через messages.send используя токен сообщества отправляем ответ
$request_params = array(
"message" => "{$user_name}, нам очень жаль, что вы покинули нашу группу!",
"user_id" => $userId,
"access_token" => $token,
"v" => "5.0"
);
$get_params = http_build_query($request_params);
file_get_contents("https://api.vk.com/method/messages.send?". $get_params);
echo("ok"); // Возвращаем "ok" серверу Callback API
break;

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

Чего нельзя делать ботам

Не лишним будет процитировать один из разделов справки ВК:

Теперь вы знаете как создавать своего бота в ВК. Исходники урока можно скачать тут. В следующий раз поговорим о работе с PHP SDK для вк-ботов. Если у вас остались вопросы - задавайте в комментах. И не забываем репостить и лайкать эту статью)

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

Оглавление:

Что такое боты в Телеграмм

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

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

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

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

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

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


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

Как настроить автопостинг в Телеграмм из ВКонтакте, с сайта и других сервисов

Создав бота по описанной выше инструкции, можно настроить его на автоматическую публикацию информации, которая появилась на вашем (или чужом) сайте, в группе ВКонтакте, на Youtube-канале или странице в Twitter. Настраивается бот довольно просто, для этого достаточно:


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



Рекомендуем почитать

Наверх