Содержание

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

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

Прежде всего, бот для Telegram — это по-прежнему приложение, запущенное на вашей стороне и осуществляющее запросы к Telegram Bot API. Причем API довольное простое — бот обращается на определенный URL с параметрами, а Telegram отвечает JSON объектом.

Рассмотрим API на примере создания тривиального бота:

1. Регистрация

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

Пишем ему /start и получаем список всех его команд.

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

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

Не забудьте проверить полученный токен с помощью ссылки api.telegram.org/bot<TOKEN>/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[0] == '/':
                        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: Как верно подсказали, такое пройдет только при личном общении. В чатах боту доставляются только сообщения, начинающиеся с команды (/<command>) (https://core.telegram.org/bots#privacy-mode)

  • All messages that start with a slash ‘/’ (see Commands above)
  • Messages that mention the bot by username
  • Replies to the bot’s own messages
  • Service messages (people added or removed from the group, etc.)

Чтобы бот получал все сообщения в группах пишем @BotFather команду /setprivacy и выключаем приватность.

Для начала в Handler добавляем обработчик:

if text[0] == '/':
    ...
else:
    response = CMD["<speech>"](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)[0]
    response = {'chat_id': message['chat']['id']}
    if leven[1] < 75:
        response['text'] = "I can not understand you"
    else:
        response['text'] = random.choice(RESPONSES.get(leven[0])).format_map(
            {'name': message["from"].get("first_name", "")}
        )
    return response

Здесь эмпирическая константа 75 относительно неплохо отражает вероятность того, что пользователь всё-таки хотел сказать. А format_map — удобна для одинакового описания строк как требующих подстановки, так и без нее. Теперь бот будет отвечать на приветствия и иногда даже обращаться по имени.

5. Не текст.

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

Для примера расширим словарь RESPONSES:

RESPONSES["What time is it?"] = ["<at_sticker>", "{date} UTC"]


И будем отлавливать текст :

if response['text'] == "<at_sticker>":
        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’ (или любой другой метод, используемый ботом).

habr.com

Как быстро создать бота в Telegram без знаний программирования – 1C-UMI

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

Регистрируем своего бота в BotFather

Перед созданием бота нужно зарегистрировать его в BotFather. Это делается для того, чтобы ваш бот мог работать в Telegram. BotFather ― это тоже бот, найти его просто, для этого кликните по данной ссылке, и мессенджер сам откроет с ним диалог. Нажмите внизу кнопку «Запустить».

В окне чата отобразятся все доступные команды. Нас интересует /newbot. Можете это ввести вручную или же кликнуть по соответствующей записи прямо в командном списке.

BotFather предложит вам выбрать имя для своего будущего бота. Вводим произвольное.

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

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

Теперь переходим непосредственно к созданию самого бота.

Создаем бота с помощью ManyBot

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

Запускаем ManyBot по ссылке выше и жмем на кнопку «Добавить нового бота».

Затем копируем ранее полученный нами токен в BotFather и вставляем в чат с ManyBot. Жмем на стрелочку отправки сообщения справа или Enter.

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

Получаем сообщение от ManyBot о том, что бот создан и настроен.

Кликаем по ссылке с нашим ботом и жмем на кнопку «Запустить».

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

Кликаем по кнопке «Пользовательские команды» и затем «Создать команду».

Название команды указываем произвольное, но, чтобы потом было понятно, за что она отвечает. Перед командой обязательно указываем slash в виде /.

После написания команды жмем Enter или голубую стрелочку справа.

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

Текст пишем в поле для этого или копируем откуда-нибудь, а для прикрепления файлов используем значок «Скрепка».

Изображение отправляется отдельно от текста.

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

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

Для проверки работоспособности команды жмем в меню на кнопку «Назад», затем вводим вручную созданную нами команду и нажимаем Enter. В ответ приходит сообщение с тем содержанием, которое мы указали при добавлении команды.

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

Потом кликаем по кнопке «Добавить пункт меню».

Выбираем в меню созданную нами команду.

Вводим название пункта меню. Например, «О компании». Можно использовать эмоджи.

Жмем Enter или по стрелке справа. Видим сообщение, что команда была успешно добавлена в меню. Возвращаемся назад при помощи соответствующей кнопки (2 клика).

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

При нажатии на кнопку присылается та информация, которая ранее отправлялась только при ручном вводе команды. Согласитесь, что так намного удобнее!

С помощью ManyBot можно также создавать опросы, делать рассылку по подписчикам, настраивать автопостинг в канал Telegram, смотреть статистику и т.д. Узнать подробнее обо всех функциях конструктора можно в самом боте, прокрутив меню до пунктов «Помощь» и «Инструкции». Кликайте по ним и изучайте все возможности инструмента.

Создаем бота с помощью BotMother

Это полноценный веб-конструктор, который позволяет создавать собственных Телеграм-ботов через понятный интерфейс в системе. Сначала здесь нужно зарегистрироваться. Затем мы оказываемся в личном кабинете, где нужно кликнуть по значку «Добавить».

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

Чтобы подключить зарегистрированный нами ранее в BotFather бот, его необходимо сначала удалить из ManyBot. Делается это через команду /deletebot (ввод команды, выбор нужного бота, подтверждение удаления). Либо можно зарегистрировать второго бота и использовать токен от него, оставив первого нетронутым.

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

Здесь передвигаем ползунок Telegram вправо, чтобы он стал зеленым, в поле «Токен» вводим полученный ранее в BotFather токен и кликаем внизу по значку «Дискета» для сохранения настроек.

Теперь возвращаемся к нашему боту в конструкторе.

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

Теперь в текстовом поле пишем наше приветствие. Можно использовать смайлы.

Чтобы обращаться персонально по имени к каждому пользователю, в текст сообщения нужно добавить конструкцию {{this_user.firstname}}.

Для создания меню перетащим блок «Группа кнопок с подсказками» на тот же стартовый экран, но с расположением под введенным ранее приветствием.

В поле «Текст сообщения» вводим подсказку для пользователя. Например, «Выберите нужный вам пункт меню». А в поле «Введите текст кнопки» указываем короткий текст, который станет названием кнопки.

Чтобы добавить еще одну кнопку, кликните по значку с плюсиком.

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

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

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

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

Создаем второй стартовый экран прежним способом. Называем его, как вторую кнопку.

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

Мы использовали скриншот наших тарифов на сайте 1C UMI.

Теперь нам нужно связать второй и третий стартовые экраны с кнопками действий в первом. Для этого перетаскиваем компонент «Развилка» на 1-й экран в самый низ.

В пункте «Выберите экран» выбираем «Стартовый экран», затем кликаем по кнопке +. В верхнем поле нужно выбрать второй стартовый экран. Поле «text» оставляем нетронутым, а в поле «Введите значение» указываем точное название кнопки.

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

Жмем на кнопку «Сохранить». Запускаем бота в Telegram и проверяем, что получилось.

Кликаем по кнопке «О компании» и получаем в ответ сообщение.

Но как вернуться назад после этого? А для этого нужно создать соответствующую кнопку. Делается это просто. На второй стартовый экран переносится сначала компонент «Группа кнопок с подсказками», а чуть ниже «Развилка».

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

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

Сохраняем изменения при помощи значка дискеты в правой нижней части страницы.

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

Такую кнопку возвращения можно сделать для всех пунктов меню.

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

Преимущества и недостатки ManyBot и BotMother

ManyBot иногда «тормозит» и не отвечает на введенные в бот команды. Также при запуске бота, созданного на этом конструкторе, отправляется текстовая реклама от разработчиков.

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

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

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

umi.ru

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

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

Немного о ботах 

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

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

Создание бота для Telegram 

Конечно, перед тем, как написать бота для Telegram, нужно определиться, для каких целей он будет создан и что, собственно, будет делать. Рассылать сообщения, выдавать курс валют или что-то еще. Именно от этого и будет зависеть его основной код. Писать бота можно как на языках программирования, так и практически без знания оных. Правда, в последнем случае ни о каком тонком качественном исполнении речи быть не может. Создается новый бот при помощи еще одного бота: @BotFather. Для начала его нужно добавить в свой контакт-лист и запустить.

Последовательность действий в дальнейшем будет такая:

  • ввести команду /newbot – создание нового бота. Затем BotFather попросит придумать новое уникальное имя для этого бота. Оно обязательно должно заканчиваться на «bot»;
  • можно также добавить аватар для бота и его описание;
  • далее BotFather присылает уникальный токен API, который нужно скопировать в буфер обмена и переместить в какой-нибудь текстовый файл, потому что запомнить его просто невозможно;
  • в принципе, бот уже имеется, только он ничего не может делать. Чтобы «обучить» его чему-нибудь, можно использовать языки программирования. А можно и Paquebot – сервис для создания коммуникативных роботов;
  • потребуется также добавить в друзья нового бота — @Chatfuel и запустить его;
  • нужно ввести команду /addbot и добавить к нему полученный ранее токен;
  • теперь бот будет сохранен на сервисе – и все взаимодействие с ним будет осуществляться оттуда. Там имеется довольно внятный интерфейс и система команд для бота. Описывать все возможные функции здесь просто нет смысла – их слишком много.

Теперь при помощи сервиса Paquebot можно будет управлять возможностями своего бота, используя заготовки команд. Например, добавить своего бота в администраторы канала – и тот будет автоматически проводить обновление на канале. Кроме того, отсюда можно настроить обновление на страничке пользователя В Контакте, Твиттере, на YouTube, RSS и других социальных сервисах.

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

telegram-free.org

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

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

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

Полное руководство по Telegram

Сейчас Телеграм очень востребован и его популярность растёт день ото дня. Не оставим мы без внимания и ботов для него.

Чем полезны?

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

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

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

Моя подборка полезных ботов позволит познакомиться с ними поближе.

Способы создания

Написать код ручками

Для этого нужно знать языки программирования (Python, PHP или Java), а также есть ещё масса нюансов типа регистрации хостинга и прочего. Это может стать огромной проблемой для некоторых.

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

Воспользоваться специальным сервисом

Наш спаситель — Manybot.io.

Именно на нём я нашёл русский интерфейс, понятную инструкцию и нужный на первых этапах функционал. Роботы на этой платформе умеют:

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

Первым делом откроем @Manybot в мессенджере. Нажмём кнопку «Начать».

Выберем русский язык из предложенного списка.

Кликаем «Добавить нового бота».

Следуем дальнейшим инструкциям. Нам нужно зарегистрироваться у @BotFather.

Перейдём по ссылке и запустим его.

Введём команду /newbot.

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

Вернёмся к Manybot, покажем ему этот код, нажав «Я скопировал токен».

Придумаем описание.

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

Настройка

Займёмся созданием меню и первых команд. Для этого нужно найти своего робота, для этого в поисковую строку вводим его имя. У меня это @iklife_bot.

Создаём простейшую команду

Весь принцип bota — это ответы на вопросы человека, поэтому нужно прописать команды и ответы на них.

Для этого вызовем меню настройки — /commands.

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

Дожидаемся сообщения об успешном создании команды.

Делаем меню

Гораздо удобнее, когда посетители могут быстро выбрать все команды прямо из меню. Для его создания опять вернёмся к /commands и далее «Настроить гл. меню».

Потом «Добавить пункт меню». Называем его, выбираем ранее созданную команду.

Пункт меню готов!

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

Автопостинг

Главным достоинством @Manybot является мгновенная настройка автопостинга записей с сайта с RSS-лентой или из соц. сетей, или Ютуба прямо в чат. Таким образом, читатели всегда будут в курсе обновлений, не выходя из Telegram.

Давайте его запустим!

Вводим /autoposting.

Я укажу RSS-поток своего блога — iklife.ru/feed. Дожидаемся проверки и сообщения об успешном завершении.

Теперь вы увидите мои статьи прямо внутри @iklife_bot.

Заключение

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

Спасибо за внимание!

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

Подписаться

Подписалось уже 6999 человек

iklife.ru

Как создать чат-бот в Telegram без знаний программирования — Kompot Journal

Хочется упростить коммуникацию с клиентами в своём telegram-канале — сделайте чат-бота! Он может действительно всё, только правильно его запрограммируй.

Нужна разгрузка техподдержки? Настройте бота так, чтобы он отвечал на все FAQ, а при необходимости переадресовывал на реальных сотрудников. Ноль в программировании? Давно не проблема, это можно сделать без специальных знаний. А с гайдом поможем мы.

Почему нужно завести чат-бота в Telegram

Составили список причин, почему вам нужен чат-бот. На самом деле их намного больше, но как фанаты Игоря Николаева, выделили основные 5:

  • Это бесплатно. Никто вас не заставляет платить за создание бота (пока что).
  • Весь бизнес переходит в смартфоны и мессенджеры, поэтому наличие бота будет несомненным плюсом для вашей компании.
  • Быстрая и простая настройка. Большинство базовых функций можно реализовать и без знания программирования.
  • Неограниченное количество подписчиков. Если в имейл-рассылке нужно оплачивать сервис, то здесь вы никому не должны (пока что).
  • Можно в любой момент вносить изменения. Не нужно ждать, пока программист полностью перепишет бота ради того, чтобы добавить/удалить несколько команд.

Что может делать телеграм-бот

Всё зависит от ваших желаний. Если вы наймете программиста, который сможет прописать код, то бот сможет даже принимать заказы и сразу грузить их в CMS-админку. У бота, сделанного по упрощённой схеме, функций поменьше, но они полностью перекрывают основные потребности:

  • Выдавать заготовленный текст.
  • Делать текст с кнопкой реакции (которую можно запрограммировать на что угодно: переход на сайт, в чью-то личку, комментарии).
  • Собирать лиды.
  • Задавать вопросы и ответы на них.
  • Переадресовывать на службу техподдержки.
  • Делать кросспостинг и рассылку.
  • Принимать заказы.

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

Изначально нам следует начать чат с @Manybot. Именно он поможет нам создать своего бота.

Вводим команду «Добавить нового бота».

Теперь мы увидим, что делать дальше:

Назовите бота. Именно это и будет логином бота, через который люди будут его искать в будущем.

Теперь вернитесь к @Manybot и введите этот токен.

Введите описание для стартовой страницы своего бота и нажмите Enter.


Всё, основная работа сделана!

Вернитесь к @BotFather, чтобы добавить описание для боковой панели и аватар бота.

Список команд BotFather

Основные настройки:

  • /newbot — создать бота;
  • /mybots — редактирование бота [beta];
  • /setname — изменить имя бота;
  • /setdescription — изменить описание бота;
  • /setabouttext — изменить блок “about info”;
  • /setuserpic — изменить аватар бота;
  • /setcommands — изменить лист команд;
  • /deletebot — удалить бота.

Настройки бота:

  • /token — сгенерировать токен;
  • /revoke — revoke bot access token;
  • /setinline — переключить режим;
  • /setinlinegeo — переключить запросы локации;
  • /setinlinefeedback — изменить настройки фидбека;
  • /setjoingroups — указать, можно ли добавить бота в группы;
  • /setprivacy — изменить режим приватности в группах.

Игры:

  • /mygames — редактировать игры [beta];
  • /newgame — создать игру;
  • /listgames — список игр;
  • /editgame — редактировать игру;
  • /deletegame — удалить существующую игру.

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

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


Аватарка добавляется через команду /setuserpic.

Всё, теперь у вас не голый бот 🙂

Теперь устанавливаем about info с помощью /setabouttext.

Если всё прошло успешно, то должно будет выглядеть вот так:

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

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

Теперь нам стала видна панель настроек. Не бойтесь, будущие пользователи её не увидят:

Далее следует прописать все команды.

Выбираем «Пользовательские команды» , далее «Создать команду» и вписываем само название будущей команды. Допустим, «График работы» или «Адреса самовывоза».

Придумываете команду для бота: для этого нужно ввести символ «/» и прописать название команды латиницей. Пример: /arrivals, /shop, /contacts, /aboutcompany. После этого пишем текст, который должен будет выдаваться пользователям после выбора команды.

Представьте, кто-то захотел узнать ваши контакты. Клиент должен будет ввести /contacts или нажать кнопку «Контакты» и ему высветятся все возможности связаться с вами, которые вы ранее прописали. Теперь сделайте команду видимой: зайдите в главное меню и нажмите на кнопку «настроить главное меню»

После этого мы прописываем ответ и нажимаем на кнопку «Сохранить».

Теперь заносим команду в главное меню (делаем её кнопкой) и даем ей название.

Выберите «Настроить главное меню».

Теперь кликните на «+Добавить пункт меню+»

Теперь пропишите желаемое название команды:

Profit!

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

kj.media

Как создать своего чат-бота для Телеграм новичку?

Привет, друзья! На волне тренда мессенджеров и чат-ботов, наконец, добралась до создания своего бота в Телеграме. Реализовала простенького бота-помощника, а заодно решила поделиться с вами инструкцией, как я это сделала. Кроме того, в мой адрес звучали вопросы такого типа: как через бота отдавать подарок новым подписчикам. В общем-то, я этим тоже озадачилась.

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

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

Выглядит эта менюшка следующим образом:

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

Какие возможности есть у бота?

1) Создание пользовательских команд и ответов на них.

2) Создание меню из команд. Это удобно, так как пользователям не надо вводить команды, а можно использовать для навигации готовое меню.

3) Возможность отправлять сообщения подписчикам (в том числе отложенные), просматривать количество подписчиков в боте.

4) Несколько языков интерфейса, в том числе русский.

5) Можно настроить автопостинг в бота из rss блога или сайта, а также с YouTube-канала, ВК, Твиттер.

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

Я записала пошаговую видеоинструкцию – пример создания простого бота с меню: