Пишем telegram-бота на python с помощью библиотеки telebot часть 1 / Habr
Лирическое отступление
Боты сегодня — это многофункциональный инструмент, как для бизнеса, так и для развлечений. Лично я считаю, что за ними будущее. Конечно, прочитав эту статью, вы не сможете создавать большие проекты, но заинтересоваться и начать — вполне.
Установка и настройка
Для начала давайте скачаем сам python. Сделать это можно на официальном сайте. Не забудьте поставить галочку add to PATH во время установки! После установки python’a нам понадобится хороший редактор кода. На помощь приходит компания JetBrains со своим бесплатным PyCharm. Мы уже близко, осталось скачать библиотеку telebot. Для этого заходим в командную строку и пишем:
pip install pytelegrambotapi
Если всё прошло успешно, мы можем продолжать!
VPN
Думаю все знают о блокировки telegram в России и единственным решением как всегда остаётся vpn. Лично я рекомендую Windscribe, т.к. вам дают 2 гб. трафика совершенно бесплатно!
Bot Father
В поиске telegram находим Bot Farher’a и создаем своего бота с помощью команды /newbot. Затем вводим имя и юзернейм. Обратите внимание, что юзернейм должен оканчиваться на bot!
Как вы видите нам выдали специальный api токен, с помощью которого вы сможете управлять своим ботом (в моём случае это: 776550937:AAELEr0c3H6dM-9QnlDD-0Q0Fcd65pPyAiM). Свой токен Вы можете запомнить, но я рекомендую его записать.
Код
Настал момент, которого ждали все. Открываем PyCharm и создаем новый проект.
Тут рекомендую поставить всё как у меня (название, конечно можно изменить). После создания проекта, давайте создадим файл, в котором будет наш код. Кликните правой кнопкой по папке с вашем проектом, затем New → Python File. Отлично, начнем писать код. Импортируем библиотеку telebot, с помощью:
import telebot
Теперь нужно создать переменную bot. На самом деле имя переменной может быть каким угодно, но я привык писать bot.
bot = telebot.TeleBot('ваш токен')
Напишем декоратор bot.message_handler(), с помощью которого наш бот будет реагировать на команду /start. Для этого в круглых скобках пишем commands=[‘start’]. В итоге у нас должно получиться это:
@bot.message_handler(commands=['start'])
Если Вы попробуете запустить своего бота (ПКМ->Run), то у вас ничего не выйдет. Во первых в конце кода мы должны прописать bot.polling(). Это нужно для того, чтобы бот не выключился сразу, а работал и проверял, нет ли на сервере нового сообщения. А во вторых наш бот если уж и будет проверять наличие сообщений, то всё равно ничего ответить не сможет. Пора это исправлять! После нашего декоратора создаем функцию start_message, которая будет принимать параметр message (название функции может быть любым). Далее давайте реализуем отправку сообщения от самого бота. В функции пропишем bot.send_message(message.chat.id, ‘Привет, ты написал мне /start’). Смотрите, что у Вас должно получиться:
import telebot bot = telebot.TeleBot('776550937:AAELEr0c3H6dM-9QnlDD-0Q0Fcd65pPyAiM') @bot.message_handler(commands=['start']) def start_message(message): bot.send_message(message.chat.id, 'Привет, ты написал мне /start') bot.polling()
Проверим…
Отлично, наш бот работает! Чтобы он отвечал не только на команды, но и на сообщения, создадим новый декоратор bot.message_handler(), а в круглые скобочки напишем content_types=[‘text’]. Вообще существует множество видов контента, к примеру location, photo, audio, sticker и т.д. Но нам же нужно отвечать на текст, верно? Поэтому создаём функцию send_text, принимающую параметр message. В функции пропишем условие:
@bot.message_handler(content_types=['text'])
def send_text(message):
if message.text == 'Привет':
bot.send_message(message.chat.id, 'Привет, мой создатель')
elif message.text == 'Пока':
bot.send_message(message.chat.id, 'Прощай, создатель')
Если текст сообщения будет равен «Привет», то бот отвечает «Привет, мой создатель», а если текст сообщения будет равен «Пока», то бот ответит «Прощай, создатель». Тут думаю всё понятно. Но вы скорее всего задались вопросом, а если пользователь пропишет «привет», ну или «пРиВет», как быть в этой ситуации? Всё достаточно просто! В условии, после message.text напишите функцию .lower(), а в тексте все заглавные буквы замените на строчные. Теперь наш бот отвечает не только на «привет», но и на «ПривеТ», и даже «пРиВеТ».
Вот что у вас должно получиться:
import telebot bot = telebot.TeleBot('776550937:AAELEr0c3H6dM-9QnlDD-0Q0Fcd65pPyAiM') @bot.message_handler(commands=['start']) def start_message(message): bot.send_message(message.chat.id, 'Привет, ты написал мне /start') @bot.message_handler(content_types=['text']) def send_text(message): if message.text.lower() == 'привет': bot.send_message(message.chat.id, 'Привет, мой создатель') elif message.text.lower() == 'пока': bot.send_message(message.chat.id, 'Прощай, создатель') bot.polling()
Отлично, с текстом мы разобрались, но как же отправить к примеру стикер? Всё просто! У каждого стикера есть свой id, соответственно зная id мы сможем его отправить. Получить id стикера можно двумя способами. Первый (простой) — через специального бота «What’s the sticker id?»
Ну и второй способ, для тех, кто не ищет лёгких путей. Создаем новый декоратор bot.message_handler(), вот только в скобочки пишем content_types=[‘sticker’]. Далее всё как обычно. Создаем функцию, принимающую параметр message, а вот в ней пропишем print(message). Запускаем бота.
Смотрите, как только я отправил стикер, он сразу же вывел информацию в консоль, и в самом конце будет наш id стикера (file_id). Давайте сделаем так, чтобы когда пользователь отправил боту «я тебя люблю», то бот ему ответил стикером. Создавать новый декоратор не нужно, мы просто допишем условие, которое было до этого. Вот только вместо bot.send_message() пропишем bot.send_sticker(), а вместо текста напишем id стикера.
Поздравляю, всё получилось! Думаю как отправить аудио, фото, и геолокацию, вы разберетесь сами. Я же хочу показать вам, как сделать клавиатуру, которую бот покажет вам при старте. Это уже будет сделать сложнее. Создаем переменную keyboard1, в которую запишем telebot.types.ReplyKeyboardMarkup(). Эта функция вызывает клавиатуру. Далее создадим ряды, но помните, что рядов может быть не больше 12! Для того, чтобы их создать, пишем keyboard1.row(). В круглые скобочки запишите всё что хотите, лично я напишу «Привет» и «Пока». Теперь, чтобы вызвать клавиатуру, допишем reply_markup=keyboard1 к функции отправки сообщения при старте. Вот, что у вас должно получиться:
keyboard1 = telebot.types.ReplyKeyboardMarkup() keyboard1.row('Привет', 'Пока') @bot.message_handler(commands=['start']) def start_message(message): bot.send_message(message.chat.id, 'Привет, ты написал мне /start', reply_markup=keyboard1)
Запускаем бота…
Вы видите, что клавиатура какая-то большая. Чтобы это исправить, нужно просто в ReplyKeyboardMarkup() прописать True. Ну а если вы хотите, чтобы клавиатура скрывалась, как только пользователь нажал на нее, то напишите еще один True. Подробнее прочитать, что означают эти True вы можете в официальной документации.
keyboard1 = telebot.types.ReplyKeyboardMarkup(True, True)
Ну а на этом всё! Конечно, это не все возможно ботов в telegram, но основные возможности я вам показал. Спасибо за внимание.
Исходный код:
import telebot bot = telebot.TeleBot('<ваш токен>') keyboard1 = telebot.types.ReplyKeyboardMarkup() keyboard1.row('Привет', 'Пока') @bot.message_handler(commands=['start']) def start_message(message): bot.send_message(message.chat.id, 'Привет, ты написал мне /start', reply_markup=keyboard1) @bot.message_handler(content_types=['text']) def send_text(message): if message.text.lower() == 'привет': bot.send_message(message.chat.id, 'Привет, мой создатель') elif message.text.lower() == 'пока': bot.send_message(message.chat.id, 'Прощай, создатель') elif message.text.lower() == 'я тебя люблю': bot.send_sticker(message.chat.id, 'CAADAgADZgkAAnlc4gmfCor5YbYYRAI') @bot.message_handler(content_types=['sticker']) def sticker_id(message): print(message) bot.polling()
Если у вас возникли вопросы — можете мне написать в telegram dimagorovtsov
habr.com
Как создать бота в Телеграмме — инструкция + обзор конструкторов
Вы узнаете, что могут делать боты в мессенджере Telegram, как без знаний программирования можно создать такого робота и как на нем заработать. Читайте, какие конструкторы по созданию ботов пользуются наибольшим спросом.
Добрый день, уважаемые читатели! С вами Алла Просюкова — финансовый эксперт журнала «ХитёрБобёр».
Несколько лет назад большинство из нас не только не умели пользоваться различными мессенджерами и программами-роботами, но даже не знали их названий.
Мир не стоит на месте! И то, что ещё вчера казалось фантастичным, сегодня — обыденность. Мы не только стали активно пользоваться всем этим цифровым богатством, но и научились создавать несложных ботов своими руками.
Если вы всё ещё не попробовали себя в этом увлекательном и полезном деле, то моя новая статья придётся как нельзя кстати!
Ознакомившись с ней, вы:
- узнаете, что такое телеграмм-боты и для чего они нужны;
- научитесь создавать собственных роботов-помощников для канала в телеграмм и не только;
- познакомитесь с некоторыми способами заработка на их создании.
Интересно? Тогда поехали!
1. Что такое боты в Telegram и что они могут делать
Предлагаю начать с определения, которое поможет сразу всё расставить по своим местам.
Бот (иногда его ещё называют чат-бот) — сокращенное название (от слова робот) специальных программ-помощников, выполняющих монотонные, рутинные, повторяющиеся задачи.
Функционал роботов разнообразен.
Они умеют:
- Проводить опросы.
- Доставлять информацию об обновлениях с сайта.
- Показывать новости по заданной пользователем тематике.
- Находить и скачивать любую информацию.
- Совершать рассылку.
- Управлять умным домом.
- Развлекать.
- Заниматься автопродажами.
- Обучать и т.п.
Программы-роботы объединили в мессенджере всю информацию, которую раньше приходилось искать через разные поисковики на просторах интернета. Теперь нет необходимости устанавливать множество приложений. Достаточно одного Телеграма и нескольких чат-ботов.
Пример
Ольга общалась в телеграмм-чате со своей подругой Дашей, которая уехала отдыхать, но вместо веселого путешествия слегла в отеле с простудой. Девушке хотелось поддержать подругу, и она отправила ей весёлую гифку.
Оле не пришлось выходить из приложения, блуждать по интернету в поиске нужного варианта. Девушка воспользовалась @gifbot . Она направила в бот сообщение с указанием эмоции, которую должна выражать гифка. И вот через несколько секунд робот предложил ей на выбор несколько замечательных вариантов.
Telegram bot обладает неоспоримыми достоинствами:
- круглосуточное функционирование;
- быстрый ответ на запрос;
- использование для работы сторонних серверов, что экономит мощности устройства его владельца;
- безопасность (у робота отсутствует доступ к личной информации пользователя, он взаимодействует только с текстовыми сообщениями).
О том, как заработать в Телеграм, читайте отдельную статью.
2. Как создать бота в Телеграм — пошаговая инструкция
Бот можно создать, зная язык программирования или абсолютно не владея им.
В первом случае программа пишется ручным способом программистом — как правило, на универсальном языке PHP. Во втором случае разработка ведётся пользователями, не обладающими профессиональными знаниями и навыками, с помощью специальных конструкторов, например, Manybot.
Моя пошаговая инструкция как раз для неспециалистов.
Шаг 1. В окно поиска вводим название бота
Заходим в Телеграм через приложение или веб-версию. Попав в мессенджер, вбиваем в поисковую строку слово Manybot. Из нескольких предложенных вариантов выбираем именно тот, который искали. На экране раскроется чат, внизу появится кнопка «Начать». Жмём её.
Шаг 2. Выбираем язык и нажимаем пункт “Добавить нового бота”
Далее программа предложит выбрать язык будущего бота из предлагаемого перечня. Нажимаем на кнопку «Русский». После этого переходим непосредственно к созданию робота, нажав на пункт «Добавить нового бота».
Шаг 3. Переходим на @BotFather и вводим команду newbot
Теперь необходимо создать токен авторизации в BotFather. Для этого переходим в него и отправляем команду «/newbot».
Шаг 4. Вводим название аккаунта и техническое имя
После всех вышеописанных манипуляций придумываем имя для бота-новичка. Это может быть любое название, по вашему усмотрению. Если выбранное имя уже существует, на экране появится предупреждение. Подбирать придётся до тех пор, пока наименование не будет уникальным.
Допустим, мы создаём бота для подбора кулинарных рецептов из имеющихся у пользователя продуктов. Исходя из его предназначения, назовём новичка cook.
С учётом подобранного имени формируем ссылку на будущего помощника.
Используем подобранный ранее вариант имени, получаем ссылку cook_bot.
Шаг 5. Сохраняем API-токен и отправляем на @Manibot
BotFather выдаст API-токен в виде строчки с набором множества цифр и букв. Копируем её, после чего переходим обратно в @Manibot и отправляем скопированный токен в виде обычного сообщения.
Шаг 6. Вводим описание аккаунта
После успешной обработки и принятия API система предложит создать краткое описание полученного робота. Сообщение должно быть кратким, отражать цель его использования, чтобы пользователь сразу понимал, чем будет полезен лично ему этот робот.
Пример
Вот какое описание я сделала для нашего кулинарного бота: «Подбор кулинарного рецепта по списку имеющихся у вас продуктов».
@Manibot позволяет пропустить шаг с описанием, отправив в сообщении команду /skip. Но я не рекомендую этого делать. Ведь описание — лицо бота, по которому его будут выбирать будущие подписчики.
Вот и всё! Ваш робот-помощник создан. Теперь его необходимо настроить. Отравляем сообщение «/commands», после чего откроется меню с вариантами настройки: «Создать команду» и «Настроить гл. меню».
Создать команду — прописать пользовательские команды, на которые робот будет реагировать. Например, для нашего cook создаем команду /rezept. Получив её, робот вышлет кулинарный рецепт под заданный продуктовый набор.
Далее нажимаем на пункт «Настроить гл. меню» и переходим к панели настроек. С её помощью формируем базовые команды, облегчающие работу пользователей.
В дополнение рекомендую к просмотру тематическое видео:
3. Обзор ТОП-3 конструкторов для создания ботов в Телеграмм
Ещё совсем недавно без программистов было невозможно не только сделать сайт или бота, но даже в стандартной установке/обновлении программ требовалась их помощь.
К счастью, всё течёт и всё меняется. Теперь даже далёкие от всех языков программирования пользователи самостоятельно, без особого труда, создают программы-роботы для соцсетей и т.п.
Это стало возможным c появлением онлайн-конструкторов. Я предлагаю вашему вниманию 3 сервиса для создания телеграмм-ботов.
Flow XO
Flow XO, пожалуй, самый серьёзный из всех представленных в обзоре сервисов для конструирования роботов. Он предназначен для создания и сопровождения умных программ для бизнес-процессов.
Разработчики предлагают различный функционал на платной и бесплатной основе. Пользователи оплачивают только то, что им действительно нужно.
В арсенале конструктора имеются шаблоны готовых модулей.
Chatfuel
Это бесплатный бот-конструктор для Телеграмм и Фейсбук, простой в использовании, имеющий обширный функционал.
О качестве сервиса свидетельствует список его постоянных именитых потребителей:
- National Geographic.
- TechCrunch.
- UBER.
- Forbs и т.д.
Востребованность Chatfuel подтверждается общим числом пользователей (более 15 млн.) и количеством созданных ботов (более 500 тыс.). Роботы, созданные на этой платформе, легко интегрируются в различные сервисы и сети: YouTube, Твиттер, Инстаграм и т.п.
Recast AI
И, наконец, последний конструктор из моего мини-обзора — Recast. AI. Разработчики позиционируют своё детище, как самый простой для понимания и обучения строитель ботов. На его начальное освоение требуется в среднем около 8 минут. Сервис работает на специально разработанной технологии распознавания естественного языка.
Конструктор имеет 2 тарифа: платный и бесплатный. Функционал обоих практически одинаков, основная разница лишь в том, что платный тариф предназначен для корпоративных клиентов.
Для наглядности основные характеристики сведены в сравнительную таблицу:
4. Полезные боты для бизнеса
Прежде чем заказывать новый бот для своего бизнеса или создавать его с помощью конструктора, рекомендую проверить в Телеграм уже существующие. Возможно, там уже есть подходящий!
Промониторив каталог мессенджера, я отобрала 3 робота, которые будут полезны практически для любой компании. Все они способны говорить на русском языке. Знакомьтесь!
Mirabellabot
Даже в самых маленьких фирмах чаще всего предусмотрена должность секретаря. Однако в век высоких технологий некоторый функционал нетрудно переложить на «плечи» mirabellabot — робота-секретарши.
Он без труда:
- создаст список всех дел;
- запомнит и сохранит необходимые ссылки;
- напомнит о незаконченных делах/невыполненных задачах;
- сохранит важные заметки.
Pravorubot
Нередко в бизнесе возникают сложные правовые ситуации, а собственного юриста в фирме нет. Конечно, найти консультанта не проблема, даже в маленьких городах есть несколько юридических компаний, оказывающих подобные услуги. На худой конец ответ можно поискать в интернете. Однако иногда на это просто нет времени.
Выход из этой ситуации есть — телеграмм-бот Pravorubot. Здесь все желающие в течение 15 мин. получат ответы на свои юридические вопросы. Робот поможет найти юристов нужной специализации вблизи указанного пользователем местоположения.
При этом @Pravorubot неутомимо трудится круглосуточно, без праздников и выходных!
EGRUL_bot
С каждым годом законодательство РФ всё жёстче требует от компаний, независимо от их форм собственности и системы налогообложения, проявлять должную осмотрительность при выборе контрагента и заключении договоров.
Все юрлица и ИП должны проводить предварительную проверку своих будущих партнёров, в противном случае нарушителей ждут неприятности с налоговой вплоть до ликвидации фирмы.
Для этих целей будет весьма кстати EGRUL_bot. С его помощью вы быстро и легко запросите выписку из ЕГРЮЛ, узнаете данные об учредителях, а это как раз один из пунктов той самой обязательной проверки. Достаточно только сообщить ИНН или ОГРН проверяемого. Документ придёт в PDF-формате.
5. Можно ли заработать на ботах
Не только можно, но и нужно! В Телеграмм есть несколько способов для этого.
Вот только некоторые из них:
- Создание ботов под заказ.
- Участие в конкурсе для создателей программ-роботов от Павла Дурова.
По моему глубокому убеждению оба способа подходят только для программистов, желающих заработать приличные деньги. Специалисты, владеющие языками программирования, как правило, создают боты по заданию компаний-заказчиков, реже заказчиков-физлиц. Цена качественного робота начинается от 15 тыс.руб.
Пользователи, которые не имеют специальных знаний и навыков, тоже смогут заработать небольшие суммы, создавая программы с помощью специальных конструкторов, а затем продавая их тем, кто не может или не хочет делать этого сам.
Только помните, что функционал такого творения ограничивается возможностями конструктора, на котором он создан. Да и доход от подобных сделок невелик. Обычно их стоимость составляет от 500 руб.
Павел Дуров периодически проводит конкурс среди создателей ботов на получение грантов. Призовой фонд — 1 млн $. Сумма каждого гранта не менее 25 тыс. дол. Сведения о событии размещаются в паблике мессенеджерв в ВКонтакте.
Основные требования к вновь создаваемым ботам:
- быстродействие;
- полезность;
- функционирование на базе Телеграмм;
- работа в inline-режиме.
Выбирайте наиболее подходящий для вас способ и начинайте зарабатывать!
6. Заключение
Прочитав статью до конца, вы узнали, как создать бота в телеграмме. Роботы способны не только облегчить взаимодействие между общающимися в телеграмм-чате. На их создании реально заработать, даже не будучи программистом.
Вопрос к читателям:
Сподвигла ли вас полученная информация на создание своего телеграмм-бота?
Желаем вам успехов и процветания! Будем признательны за комментарии. Появились вопросы по теме? Задавайте, обязательно ответим!
hiterbober.ru
Как создать бота в Телеграмм инструкция
Рано или поздно активного пользователя Телеграмм посещает вопрос, как создать бота в Телеграмм. Что для этого нужно знать и что уметь?
Немного о ботах
Боты в Телеграмм – это специально обученные программные роботы, которые могут выполнять за своего создателя множество всяких вещей. Например, рутинный поиск и отфильтровывание информации. Или организовать массовую рассылку всем абонентам. Или переводить с одного языка на другой. Или заглядывать на новостные ленты и выдавать самые свежие новости. Или даже играть с пользователем. Или… список возможностей можно продолжать и продолжать.
Существуют даже боты, имитирующие живое общение. Об искусственном интеллекте таких ботов, конечно, говорить не приходится, однако разработки в этом направлении ведутся. Как знать, вдруг вскоре в Телеграмме появится бот, не отличимый от живого человека…
Создание бота для Telegram
Конечно, перед тем, как написать бота для Telegram, нужно определиться, для каких целей он будет создан и что, собственно, будет делать. Рассылать сообщения, выдавать курс валют или что-то еще. Именно от этого и будет зависеть его основной код. Писать бота можно как на языках программирования, так и практически без знания оных. Правда, в последнем случае ни о каком тонком качественном исполнении речи быть не может. Создается новый бот при помощи еще одного бота: @BotFather. Для начала его нужно добавить в свой контакт-лист и запустить.
Последовательность действий в дальнейшем будет такая:
- ввести команду /newbot – создание нового бота. Затем BotFather попросит придумать новое уникальное имя для этого бота. Оно обязательно должно заканчиваться на «bot»;
- можно также добавить аватар для бота и его описание;
- далее BotFather присылает уникальный токен API, который нужно скопировать в буфер обмена и переместить в какой-нибудь текстовый файл, потому что запомнить его просто невозможно;
- в принципе, бот уже имеется, только он ничего не может делать. Чтобы «обучить» его чему-нибудь, можно использовать языки программирования. А можно и Paquebot – сервис для создания коммуникативных роботов;
- потребуется также добавить в друзья нового бота — @Chatfuel и запустить его;
- нужно ввести команду /addbot и добавить к нему полученный ранее токен;
- теперь бот будет сохранен на сервисе – и все взаимодействие с ним будет осуществляться оттуда. Там имеется довольно внятный интерфейс и система команд для бота. Описывать все возможные функции здесь просто нет смысла – их слишком много.
Теперь при помощи сервиса Paquebot можно будет управлять возможностями своего бота, используя заготовки команд. Например, добавить своего бота в администраторы канала – и тот будет автоматически проводить обновление на канале. Кроме того, отсюда можно настроить обновление на страничке пользователя В Контакте, Твиттере, на YouTube, RSS и других социальных сервисах.
На бота могут подписаться другие пользователи – и получать информацию об этих обновлениях. Также можно и самому оформить подписку на собственного бота – и тогда можно будет следить за обновлениями новостной ленты у других. Создание бота для Telegram – занятие по-настоящему увлекательное. Многие программисты говорят, что ощущения при этом такие – будто создаешь отдельное живое существо, которое вдруг начинает жить отдельно, своей собственной жизнью… После того, как создать бота в Телеграмм удалось, и он начал успешно функционировать, его можно добавить в каталог ботов на сайте Store Bot или продвигать в Твиттере, например, а то и вовсе – продать кому-нибудь.
telegram-free.org
Telegram бот для службы поддержки (часть 1) / Spottle corporate blog / Habr
В этом цикле статей мы реализуем службу поддержки для онлайн-чатов. Система должна уведомлять команду операторов о новом сообщении, делить нагрузку на команду любого размера, делегировать сообщения в зависимости от приоритета. Звучит жутко. Но без паники, я поделюсь нашим опытом построения такой системы, которая уместилась всего в пару сотен строк кода. Да, мы будем использовать Telegram-бота. Но не потому, что это модно, а потому что супер удобно.
Всё началось с того, как мы захотели делать мобильное приложение, где люди могут писать любой вопрос в чаты заведений вокруг и получить быстрый ответ. Сделать чат — не проблема. Но что если мы хотим получать уведомления о новых сообщениях в real-time, для мгновенного ответа пользователю?
В первой части статьи я покажу на тестовом примере, как можно управлять системой службы поддержки через чат-бота, почему это очень простой и удобный способ. А во второй части статьи мы реализуем этот пример на Python.
Любая команда операторов службы поддержки должна отвечать на запросы оперативно, для этого её нужно оперативно уведомлять. Нет нужды придумывать что-то своё — любой современный мессенджер справится с этой задачей на ура. Я выбрал Telegram. Он удобен, работает на всех основных платформах, а функционал ботов опережает даже титанов рынка мессенджеров как минимум на год. К чему это я про ботов?
В нашем случае, бот представляет собой информационный канал, к которому легко можно подключать людей, с которым можно взаимодествовать текстовыми командами. После того, как мы создали бота, подключить к нему людей легко, достаточно кинуть им ссылку. Однако, наш бот исключительно для внутреннего использования. Нельзя допустить, чтобы кто угодно мог получить доступ по этой ссылке. Ссылку мы прятать надёжно не можем, а вот включать функционал специальной командой с подтверждением пароля — запросто.
Telegram бот позволяет задавать для бота свои текстовые команды. Делаем так: создадим команду «/on» которая «включает» функционал бота для пользователя. Но только после подтверждения паролем! Ну и на всякий случай можно предусмотреть команду «/off», которая отключает функционал.
Теперь наш бот знает группу людей — операторов службы поддержки. Пока что представим, что группа операторов у нас всего одна, каждый вопрос от клиента очень важен, поэтому будем рассылать уведомления всей группе. В этом нет никакой магии, конечно Telegram имеет апи для рассылки сообщений людям, подключившимся к нашему боту.
Теперь каждый член команды операторов получит уведомление. В текст сообщения можно вставить ссылку, по которой можно ответить клиенту. Например, это может быть ссылка на веб-версию чата, через который вы осуществляете поддержку.
Система, которую мы разработали, работает корректно, когда оператор службы поддержки один. Безусловно, мы можем рассылать уведомления любому количеству людей. Но как понять, что кто-то уже отвечает на запрос клиента? Как распределять нагрузку, чтобы не возникло путаницы? Это мы будем делать в следующей статье с помощью… кнопок в чате. Не так давно Telegram опубликовал Bot Api 2.0. Теперь стало возможным добавлять кнопки к сообщениям и отслеживать нажатия на них пользователей. Чем мы и займёмся в следующей статье. Ну и скриншот для превью того, что мы будем делать.
Всё необходимое для создания бота можно почитать в документации. После того, как мы создали бота, приступаем к коду. Будем использовать Python библиотеку — обёртку Telegram API. Она позволяет писать обработку сообщений в обычных функциях с декораторами, что довольно удобно. Полный код нашего тестового примера доступен тут, по мере выхода следующих статей я буду его обновлять.
@bot.message_handler(commands=['start', 'help'])
def send_welcome(message):
bot.reply_to(message, "Welcome to Support_Bot!")
Так выглядит код, который реагирует на команды «/start», «/help», а так же приветствует новых пользователей бота (при первом открытии бота автоматически посылается команда «/start»).
@bot.message_handler(commands=['on'])
def subscribe_chat(message):
if message.chat.id in team_users:
bot.reply_to(message, "You are already an operator")
else:
user_step[message.chat.id] = TEAM_USER_LOGGING
bot.reply_to(message, "Enter team secret phrase:")
Это уже обработка не стандартных команд («/start» и «/help» есть по умолчанию у всех ботов). Мы создали обработчик команды «/on». После обработки мы просим ввести пароль.
@bot.message_handler(func=lambda message: user_step.get(message.chat.id) == TEAM_USER_LOGGING)
def team_user_login(message):
if message.text == 'password1':
team_users.add(TeamUser(message.chat.id))
user_step[message.chat.id] = TEAM_USER_ACCEPTED
bot.reply_to(message, "You`ve started receiving messages")
else:
bot.reply_to(message, "Wrong secrete phrase, try again")
Эта функция проверяет пароль на валидность. Но как понять, что последнее сообщение было паролем? В обработчике «/on» мы сохраняем статус диалога в глобальной переменной. Декораторы обработчиков сообщений могут принимать lambda-функции, в которые попадют входящие сообщения и если lambda-функция вернула True — идём в обработчик. На самом деле, в нашем случае текст сообщения не так важен, но мы проверяем статус глобальной переменной. Если пользователь до этого вызывал команду «/on» — значит нужно интерпретировать его сообщение, как пароль. Если пароль проходит проверку — сохраним так называемый chat id куда-нибудь, например в файл. С помощью этого id мы позже будем отправлять сообщения в чат оператору.
@bot.message_handler(commands=['off'])
def team_user_logout(message):
if message.chat.id not in team_users:
bot.reply_to(message, "You are not an operator anyway")
else:
team_users.remove_by_chat_id(message.chat.id)
bot.reply_to(message, "You`ve stopped receiving messages")
Аналогично реализуем команду отключения оператора, который больше не хочет получать уведомления.
def process(message):
text = '%s\n%s writes to %s\nReply: %s' %\
(message, 'Vasya', 'Super Support Team', '*reply_url*')
for user in team_users:
bot.send_message(user.chat_id, text, disable_web_page_preview=True)
Ну и рассылка сообщений делается ещё проще. Так как в сообщениях мы можем передавать разную необходимую информацию, включая ссылки, не будем заставлять приложение Telegram пытаться распарсить их, это будет только мешать. С помощью флага disable_web_page_preview = True Telegram не будет пытаться проходить по нашим ссылкам и выдавать картинку превью в чате.
threading.Thread(target=bot.polling).start()
Запускаем бота одной строчкой (метод polling, ещё доступны webhook-и, но для начала этого хватит с головой).
В этой статье мы сделали бота, научили его добавлять операторов только после ввода пароля, так же научили его рассылать всем в группе операторов уведомления. Я буду продолжать цикл и расскажу, как убрать возможную путаницу «кто на какой запрос отвечает», как на основе бота сделать разбиение операторов на группы, делегирование сообщений определённой группе, а так же как отвечать на вопросы клиентов не выходя из Telegram чата. Подобную систему мы используем в работе нашего приложения (Android и iOS). Ну и, конечно, будем изучать новые классные фишки Telegram Bot API 2.0. Надеюсь, наш опыт будет полезен.
habr.com
Создание бота в Telegram — пошаговая инструкция
Создание бота в Telegram самостоятельно: если у вас нет навыков программирования или в бюджет не входит заказ бота у программистов, предлагаем простой и бесплатный способ .
У “телеги” есть специальный бот, который нам поможет. Чтобы создать бота заходим в Telegram и пишем боту @BotFather. На картинке выделено имя по которому его легко найти и добавить в контакты.
Нажимаем Start. Затем набираем сообщение /newbot.
Теперь задаем название. Пусть будет “Большойбот”.
Обратите внимание, что придуманное вами название может быть уже занято. Не пугайтесь. Всегда можно добавить несколько цифровых значений или букв, которые обеспечат уникальность. Название BolshoiBot оказалось занято. Пробуем еще раз с цифровым значением, например, @Bolshoi49Bot.
Готово. Получаем ссылку и токен. Сохраните токен. Он пригодится.
Для начала работы этого достаточно, но вы также можете выбрать аватар, описание и приветственное сообщение для привлечение внимания пользователя.
Создание бота в Telegram – выбираем имя и аватар
Выбираем изображение.
Успех. Изображение изменено.
Теперь добавляем бота в @chatfull, чтобы настроить. @chatfull это еще один бот, которого вы легко найдете через поиск. Находим и нажимаем start для начала работы. Нажимаем на ссылку. Снова start. Данный бот предложит создать нового бота по ссылке, изображенной на картинке:
Переходим и видим то, что и так знаем. Как создать бота. Но нам нужно не это. Снова жмем start. Затем видим кнопку “новый бот”. Выбираем.
Сhatfull просит у нас токен. Помните, ссылка, которую сгенерировал @BotFather в самом начале? Вы можете ее скопировать и отправить сообщением. А можете добавить бота вручную. Попробуем второй вариант. Установка прошла успешно. Теперьпереходим по ссылке из последнего сообщения @chatfull, чтобы настроить своего бота и нажимаем start. Бот присылает меню управления.
Создание бота в Telegram – настраиваем правильно
“Автоматизировать вашего бота”. при помощи этого пункта можем прицепить бота к каналу. Можно также автоматизировать постинг постов Twitter, Вконтакте, Instagram, но об этом в другой раз. Сейчас разбираемся с меню. Нажимаем “редактировать меню”. Бот подсказываем нам следующий шаг:
/add Добавить меню.
Допустим, у нас цветочный магазин. Первое меню – про цены. Отправляем боту сообщение – Прайс, и даем ссылку следующим образом /pr. Затем добавляем пункт – Контакты по тому же принципу – выбираем /add Добавить меню, затем отправляем боту сообщение “контакты”, затем /kt/. Выберем третий пункт меню, например, доставка. повторяем алгоритм действий. Отправляем сообщение – доставка, затем /dst. Теперь у нас есть три пункта меню. То есть, когда мы будем открывать бота и нажимать “старт”, у нас появятся кнопки внизу.
Подпункты добавляются аналогичным образом. Не будем тратить время на описание этого процесса. Здесь все легко. Добавить подменю, название, /ссылка.
В целом создание бота в Telegram при помощи “фазера” и “чатфула” – несложный процесс и подробные инструкции понадобятся вам только в том случае, если Telegram и его функционал – это для вас в новинку.
А для чего вам нужен бот? Пишите в комментариях.
Читайте также:
kakzarabotat.net
Конструктор ботов Telegram и лучшие сервисы для создания ботов
Боты в мессенджере Telegram становятся все более популярными и число их пользователей постоянно растет. В связи с этим, появляется все больше различных конструкторов, которые позволяют без наличия специальных знаний и навыков создать своего робота всего в несколько кликов. Сегодня конструктор ботов telegram позволяет создать программу, которая справится с любыми задачами.
Именно о конструкторах ботов мы и поговорим сегодня. Вы узнаете: что это и зачем их используют, какие бывают и многое другое.
Для чего нужны конструкторы?
Для начала давайте разберемся, что есть конструктор. Конструктором называется специальный софт (программа), предназначенный для быстрого создания ботов без знания каких-либо языков программирования. Иными словами, весь процесс создания – это нажатие тех или иных кнопок и ввода текста (например, название кнопки, текст сообщения и т.д.).
Первое предназначение – упрощение работы. Ведь не все мы обладаем знаниями и навыками программирования. Когда боты только появились, ими могли пользоваться лишь программисты, которые умели их создавать. Простому пользователю такая возможность была доступна только в случае, если кто-то из разработчиков поделиться своей работой.
Сейчас же каждый пользователь Телеграм (даже не самый опытный) может создать своего робота-помощника, настроить его, задать ему алгоритмы действий и пустить в работу. И все это, еще раз повторим, без знания каких-либо языков программирования.
Помимо упрощения работы, конструкторы призваны экономить наше с вами время. То время, которое тратиться на ручное создание ботов. И порой даже программисты используют тот или иной конструктор. Ведь они проще и быстрее. Особенно это относится к случаям, когда необходимо выполнять простые задачи.
Да, у конструкторов есть некоторые ограничения – вы не сможете выйти за рамки возможностей самого конструктора. Но если тех функций, которые вам предлагаются, достаточно, то почему бы и не воспользоваться ими? Ведь это экономит время и позволит избежать ошибок, которые можно допустить при написании кода.
Ну и напоследок стоит отметить, что порой конструкторы умеют делать то, чего не можете сделать вы сами. Например, вы не знаете, как заставить бота парсить новости с внешних ресурсов, а затем постить их в Телеграм. Но в конструкторе есть такая возможность, и тогда гораздо проще создать бота в нем.
Каких ботов можно создавать в конструкторах?
Ответ на этот вопрос зависит от того, какой конструктор вы используете. Как правило, каждый конструктор предназначен для создания ботов определенной направленности. Например, для бизнес тематики, для игр, для получения обратной связи и т.д.
Условно всех ботов можно поделить на четыре группы:
- Чат-боты;
- Боты-информаторы;
- Игровые боты;
- Боты-ассистенты.
Первые предназначены для создания активности в группе и поддерживания разговора с собеседниками. При качественной настройке такого бота, люди даже не поймут, что общаются с роботом.
Вторые предназначены для информирования аудитории. Постинг новостей, ответы на те или иные вопросы и многое другое.
Третьи – для развлечения. Ими пользуются, чтобы поиграть в игры, которые в них заложены. Существуют даже боты, в которых можно сыграть на реальные деньги.
И последние, четвертые, предназначены для помощи администрации в выполнении тех или иных задач. Чаще их заставляют выполнять рутинную работу.
Какие бывают конструкторы?
Многие, кто работает с ботами, задаются вопросом, какие бывают конструкторы?
Условно их всех можно поделить на две группы:
- Находящиеся внутри самого Telegram;
- Софт, расположенный на внешних ресурсах.
Говоря о первых, они представляют собой уже готовых ботов, которые способны создавать других ботов. Плюсы таких конструкторов в том, что они всегда бесплатные и просты в освоении.
Вторые – чаще всего представляют собой онлайн-сервис или софт, который необходимо скачивать и т.д. То есть, создание происходит вне мессенджера.
Ниже мы подробно рассмотри наиболее популярные конструкторы.
@ManyBot
Один из наиболее популярных конструкторов внутри мессенджера Телеграм. Он полностью бесплатный, а главное простой в использовании.
Его интерфейс поддерживает два языка: русский и английский.
Что умеют роботы, созданные на данном конструкторе:
- Отправка сообщений;
- Создание меню;
- Автопостинг из VK, Twitter, YouTube или RSS.
Наиболее часто ManyBot используют именно для создания автопостинга.
Как использовать:
- Найдите в поиске @BotFather и нажмите на «START».
- Напишите команду /newbot и отправьте ее.
- Впишите название бота (можно использовать русскую или английскую раскладку клавиатуры).
- Затем впишите username, который должен быть написан именно на латинице и заканчиваться на «bot». После проделанных действий вы увидите сообщение с API токеном. Сохраните его, он понадобится далее.
- Найдите в поиске @ManyBot и нажмите «START».
- Впишите команду /addbot для добавления бота.
- Затем впишите полученный ранее API токен.
- Напишите описание (если необходимо) или пропустите этот шаг.
- Теперь найдите созданного бота и нажмите «START».
- Далее настраивайте его, используя различные команды.
Например, мы вписали «/autoposting» и выбрали социальную сеть ВКонтакте, ввели ссылку паблика и запустили автопостинг. Теперь все, что будет опубликовано там, автоматически опубликуется в Телеграм.
Так же не забудьте добавить бота в нужный чат/канал, чтобы он начал свою работу.
Converse.ai
Возможно, это самый лучший конструктор ботов для Телеграм
Это довольно популярный конструктор, с помощью которого можно создать бота для Телеграм и не только.
С помощью Converse можно создать бота, который будет уметь:
- Обрабатывать часто задаваемые вопросы;
- Сможет автоматизировать рабочие процессы;
- Имеет поддержку голоса, картинок и видео;
- Имеет шаблоны быстрого запуска;
- Может создавать опросы;
- Может уведомлять пользователей;
- Может работать, как с внутренними инструментами Телеграм, так и с внешними ресурсами (например, с PayPal).
К сожалению, данный конструктор не бесплатный. Он имеет пробный период на 1000 сообщений, но после за его использование придется платить ежемесячно. Есть три тарифа: 50, 100, 150 долларов США. От выбранного пакета будет зависеть наличие тех или иных функций.
Чтобы воспользоваться, проделайте следующие шаги:
- Зайдите на сайт converse.ai
- Нажмите на кнопку «Get Started For FREE!» в правом верхнем углу.
- Введите свой e-mail, имя, фамилию и название компании (придумайте, если его нет, так как это обязательное поле).
- Нажмите кнопку «Try it now».
- После этого вас переведет на страницу авторизации. Здесь необходимо создать пароль.
- Нажмите кнопку «SET PASSWORD & SIGN IN».
- Далее прощелкайте все подсказки и начните работу.
- Во вкладке «Manage» нажмите кнопку «New Template». Здесь создается шаблон бота (на какие фразы, как отвечать и т.д.).
Мы не будем подробно рассматривать сам процесс настройки. Так как там большое множество различных параметров и всех их описать в данной статье не удастся. Все они интуитивно понятны, а при возникновении каких-либо вопросов можно найти подробное пошаговое обучение работы с данным сервисом в интернете.
Интегрировать готового робота в Телеграм можно во вкладке «Channels».
Flow XO
Еще один довольно популярный онлайн-сервис, позволяющий создавать чат-ботов для более чем 90 сервисов, в числе которых есть Telegram.
Ценообразование здесь гибкое и вы сможете выбрать тот или иной инструмент и добавить его.
Для начала вам предлагается приобрести стандартный план за 19 долларов в месяц. Он имеет 15 ботов и 5000 взаимодействий (например, получение сообщения считается одним взаимодействием, независимо от количества сообщений и действий ответ). Если вам необходимо приобрести больше ботов, то вы можете купить еще 5 штук за $ 10, а также можно приобрести дополнительно 25000 взаимодействий за $ 25.
Есть также и пробный бесплатный период, действующий 2 недели и имеющий 500 взаимодействий и 5 ботов.
Итак, как воспользоваться услугами данного софта:
- Зайдите на сайт и нажмите на кнопку «Start for free».
- Пройдите стандартную регистрацию.
- Далее вы попадете в свой личный кабинет. Справа во вкладке «Bots» можно создать нового бота для Телеграм (выбрав мессенджер из предложенного списка).
- Далее вы сможете более детально настроить бота.
Три поля: Name, Bot Username и Bot Token вам необходимо получить у @BotFather в Телеграм (как это делается читайте в инструкции по ManyBot, пункты 1-4).
Вот мы видим, как бот отправил нам сообщение с приветствием.
Настроив его более детально, вы сможете создать полноценного собеседника.
@LivegramBot
Еще один внутренний конструктор для ботов в Телеграм. С его помощью вы сможете создать робота для обратной связи.
Чтобы им воспользоваться, необходимо:
- Получить токен у @BotFather (как это делается, мы рассматривали с вами ранее).
- Затем найти в поиске @LivegramBot.
- Нажать кнопку «START».
- Ввести команду «/addbot».
- Затем вставить полученный токен.
- Готово! Бот успешно добавлен, остается лишь его настроить.
Настройка осуществляется довольно просто. Под последним сообщением будет кнопка «Настроить бот», нажмите ее и выберите один из пунктов, который хотите настроить.
Итог
Мы рассмотрели с вами сегодня конструкторы ботов для Телеграм. Теперь вы знаете, что это такое, в каких целях используются и какие бывают. Мы рассказали вам о некоторых наиболее известных и популярных. Каким пользоваться – решать вам. Надеемся, наша статья была полезной для вас.
Оцените текст:
[Всего голосов: 6 Средний: 4.3/5]softolet.ru
Как создать бота в мессенджере Телеграмм
Мессенджер под названием Телеграмм постоянно развивается, что приводит к появлению новых функций. Одним из нововведений можно назвать включение ботов в мессенджер. Telegram – мессенджер, который появился в 2013 году. На сегодняшний день его используют более 100 миллионов пользователей. Программа может работать не только с пользователями, но и ботами. Как создать бота в Телеграмм – довольно важный вопрос, который задают многие пользователи этой системы.
Почему боты популярны?
Сейчас практически каждый крупный интернет проект имеет собственный бот, который будет выполнять многочисленные задачи, к примеру, отвечать на поставленные вопросы. Создать бота Telegram может практически любой пользователь системы, для чего создали специальные сервисы. При рассмотрении того, как создать бота в Телеграмм, следует обратить внимание на два основных метода:
- С помощью установленного механизма в самом мессенджере. Популярность ботов привело к появлению в Телеграмме специальной функции.
- При помощи специального сервиса, который в интернете довольно много.
Для того чтобы программа могла выполнять сложные задачи, следует использовать определенный язык программирования. Создать бота Telegram можно довольно просто только для решения несложных задач.
Процедура установки мессенджера
Для того чтобы создать бот следует для начала установить мессенджер на устройство. Для этого нужно скачать установочный файл, который имеет небольшой вес. После скачивания приложения следует открыть файл, а затем следовать рекомендациям. После установки выполняется регистрация в системе.
Процедура регистрации довольно проста. Она заключается в ведении мобильного номера, после чего приходит проверочное сообщение. Его следует ввести в соответствующем поле, что откроет основной функционал приложения.
После того как мессенджер настроен на работу, проводится созданием бота. Для этого можно использовать специальные сервисы или написать код в обычном блокноте. Просто написать приложение в блокноте можно только при наличии определенных знаний и опыта в создании приложения.
В заключение отметим, что использовать специальные сервисы для того, чтобы создать бота Telegram довольно просто. Для этого следует провести регистрацию, после чего будет доступен основной функционал сервиса. Как правило, провести создание бота можно путем выбора определенных инструментов. Другими словами, иметь знаний в области использования языка программирования.
Полезная информация:
xn—-7sbiha9akb6ap.xn--p1ai