Руководство по телеграмм боту

This guide will walk you through everything you need to know to build your first Telegram Bot.
If you already know your way around some of the basic steps, you can jump directly to the part you’re missing. Equivalent examples are available in C#, Python, Go and TypeScript .

  • Introduction
  • Basic Tutorial
  • Environment
  • First Run
  • Echo Bot
  • Advanced Tutorial
  • Commands
  • Navigation
  • Database
  • Hosting
  • Further Reading

Introduction

At its core, you can think of the Telegram Bot API as software that provides JSON-encoded responses to your queries.

A bot, on the other hand, is essentially a routine, software or script that queries the API by means of an HTTPS request and waits for a response. There are several types of requests you can make, as well as many different objects that you can use and receive as responses.

Since your browser is capable of sending HTTPS requests, you can use it to quickly try out the API. After obtaining your token, try pasting this string into your browser:

https://api.telegram.org/bot<YOUR_BOT_TOKEN>/getMe

In theory, you could interact with the API with basic requests like this, either via your browser or other tailor-made tools like cURL. While this can work for simple requests like the example above, it’s not practical for larger applications and doesn’t scale well.
For that reason, this guide will show you how to use libraries and frameworks, along with some basic programming skills, to build a more robust and scalable project.

If you know how to code, you’ll fly right through each step in no time – and if you’re just starting out, this guide will show you everything you need to learn.

We will use Java throughout this guide as it’s one of the most popular programming languages, however, you can follow along with any language as all the steps are fundamentally the same.
Since Java is fully cross-platform, each code example will work with any operating system.
If you pick another language, equivalent examples are available in C#, Python, Go and TypeScript .

Getting Ready

First, we will briefly cover how to create your first project, obtain your API token and download all necessary dependencies and libraries.

For the purposes of this guide, a copy of the bot you will be creating is also live at @TutorialBot – feel free to check it out along the way to see how your own implementation should look after each step.

Obtain Your Bot Token

In this context, a token is a string that authenticates your bot (not your account) on the bot API. Each bot has a unique token which can also be revoked at any time via @BotFather.

Obtaining a token is as simple as contacting @BotFather, issuing the /newbot command and following the steps until you’re given a new token. You can find a step-by-step guide here.

Your token will look something like this:

4839574812:AAFD39kkdpWt3ywyRZergyOLMaJhac60qc

Make sure to save your token in a secure place, treat it like a password and don’t share it with anyone.

Download an IDE

To program in Java you’ll need an IDE – a special text editor that will let you write, compile and run your code.
In this tutorial, we’ll use IntelliJ – there are several free, open source alternatives like Eclipse or NetBeans which work in the exact same way.

You will also need a JDK, a software kit that allows your Java code to run.
Most IDEs don’t include a JDK, so you should download a version compatible with your operating system separately. You can find a free, open source version here.

If you use another language, the steps are identical. You will just have to download a different IDE and software development kit.

Pick a Framework or Library

You can think of a framework as software that handles all the low-level logic for you, including the API calls, and lets you focus on your bot-specific logic.

In this tutorial, we’ll use TelegramBots, but you can follow along with any equivalent implementation, since all the underlying methods are either similar or exactly the same.

You can find many frameworks, along with code examples, in our dedicated list.

Create Your Project

In IntelliJ, go to File > New > Project.

Fill in the fields accordingly:

  • Name — The name of your project. For example, BotTutorial.
  • Location — Where to store your project. You can use the default value.
  • Language — Java
  • Build System — The framework that will handle your dependencies. Pick Maven.
  • JDK — Pick whichever version you downloaded. We’ll be using version 17.
  • Add Sample Code — Leave this selected, it will generate some needed files for you.
  • Advanced Settings > GroupId — We suggest tutorial.
  • Advanced Settings > ArtifactId — You can use the default value.

After hitting Create, if you did everything correctly, your Project view in the top left should show a project structure along these lines:

BotTutorial
├─ .idea
├─ src
│  └─ main
│     └─ java
│        └─ tutorial
│           └─ Main
└─ pom.xml

Other IDEs will follow a similar pattern. Your dependency management system will have a different name (or no name at all if it’s built-in) depending on the language you chose.

If this looks scary, don’t worry. We will only be using the Main file and the pom.xml file.
In fact, to check that everything is working so far, double click on Main and click on the small green arrow on the left of public class Main, then select the first option.
If you followed the steps correctly, Hello world! should appear in the console below.

Add Framework Dependency

We will now instruct the IDE to download and configure everything needed to work with the API.
This is very easy and happens automatically behind the scenes.

First, locate your pom.xml file on the left side of the screen.
Open it by double-clicking and simply add:

<dependencies>
    <dependency>
        <groupId>org.telegram</groupId>
        <artifactId>telegrambots</artifactId>
        <version>6.0.1</version>
    </dependency>
</dependencies>

right after the </properties> tag.

When you’re done, your pom.xml should look something like this.

Start Coding

We are ready to start coding. If you’re a beginner, consider that being familiar with your language of choice will greatly help. With this tutorial, you’ll be able to teach your bot basic behaviors, though more advanced features will require some coding experience.

Creating a Bot Class

If you’re familiar with object-oriented programming, you’ll know what a class is.
If you’ve never heard of it before, consider a class as a file where you write some logic.

To create the class that will contain the bot logic, right click on tutorial from the project tree on the left and select New > Java Class. Name it Bot and hit enter.

Now we have to connect this class to the bot framework. In other words, we must make sure it extends TelegramLongPollingBot. To do that, just add extends TelegramLongPollingBot right after Bot.
A red line will appear – it simply means we’re missing some important methods.

To fix this, hover over the red line, click on implement methods, then hit OK.
Depending on the IDE, this option may be called implement missing methods or something similar.

You should end up with this – if something went wrong, feel free to copy it from here and paste it in your class:

package tutorial;
import org.telegram.telegrambots.bots.TelegramLongPollingBot;
import org.telegram.telegrambots.meta.api.objects.Update;

public class Bot extends TelegramLongPollingBot {

  @Override
  public String getBotUsername() {
      return null;
  }

  @Override
  public String getBotToken() {
      return null;
  }

  @Override
  public void onUpdateReceived(Update update) {}

}

If you get a red line under TelegramLongPollingBot, it means you didn’t set up your pom.xml correctly. If this is the case, restart from here.

Available Methods

Let’s look into these 3 methods one by one.

  • getBotUsername — This method must be edited to always return your bot’s username. You should replace the null return value with it.
  • getBotToken — This method will be used by the framework to retrieve your bot token. You should replace the null return value with the token.
  • onUpdateReceived — This is the most important method. It will be called automatically whenever a new Update is available. Let’s add a System.out.println(update); call in there to quickly show what we are getting.

After you’ve replaced all the strings, you should end up with this:

@Override
public String getBotUsername() {
    return "TutorialBot";
}

@Override
public String getBotToken() {
    return "4839574812:AAFD39kkdpWt3ywyRZergyOLMaJhac60qc";
}

@Override
public void onUpdateReceived(Update update) {
    System.out.println(update);
}

At this point, the bot is configured and ready to go – time to register it on the API and start processing updates.

In the future, you should consider storing your token in a dedicated settings file or in environment variables. Keeping it in the code is fine for the scope of this tutorial, however, it’s not very versatile and is generally considered bad practice.

Registering the Bot

To register the bot on the API, simply add a couple of lines in the main method that will launch the application. If you named your class Bot, this is what your main method should look like:

public static void main(String[] args) throws TelegramApiException {
  TelegramBotsApi botsApi = new TelegramBotsApi(DefaultBotSession.class);
  botsApi.registerBot(new Bot());
}

You can place this method in any class. Since we have an auto-generated main method in the Main class, we’ll be using that one for this tutorial.

First Run

It’s time to run your bot for the first time.
Hit the green arrow to the left of public static void main and select the first option.

And then there was nothing. Yes, a bit anticlimactic.
This is because your bot has nothing to print – there are no new updates because nobody messaged it yet.

If you try messaging the bot on Telegram, you’ll then see new updates pop up in the console. At this point, you have your very own Telegram Bot – quite the achievement. Now, on to making it a bit more intelligent.

If nothing pops up, make sure you messaged the right bot and that the token you pasted in the code is correct.

Receiving Messages

Every time someone sends a private message to your bot, your onUpdateReceived method will be called automatically and you’ll be able to handle the update parameter, which contains the message, along with a great deal of other info which you can see detailed here.

Let’s focus on two values for now:

  • The user — Who sent the message. Access it via update.getMessage().getFrom().
  • The message — What was sent. Access it via update.getMessage().

Knowing this, we can make it a bit more clear in the console output.

@Override
public void onUpdateReceived(Update update) {
    var msg = update.getMessage();
    var user = msg.getFrom();

    System.out.println(user.getFirstName() + " wrote " + msg.getText());
}

This is just a basic example – you can now play around with all the methods to see everything you can pull out of these objects. You can try getUsername, getLanguageCode, and dozens more.

Knowing how to receive, process and print incoming messages, now it’s time to learn how to answer them.

Remember to stop and re-launch your bot after each change to the code.

Sending Messages

To send a private text message, you generally need three things:

  • The user must have contacted your bot first. (Unless the user sent a join request to a group where your bot is an admin, but that’s a more advanced scenario).
  • You must have previously saved the User ID (user.getId())
  • A String object containing the message text, 1-4096 characters.

With that out of the way, let’s create a new method to send the first message:

public void sendText(Long who, String what){
   SendMessage sm = SendMessage.builder()
                    .chatId(who.toString()) //Who are we sending a message to
                    .text(what).build();    //Message content
   try {
        execute(sm);                        //Actually sending the message
   } catch (TelegramApiException e) {
        throw new RuntimeException(e);      //Any error will be printed here
   }
}

And proceed to run this in the main method, right after registering the bot.
For this example, we’ll assume your User ID is 1234.

public static void main(String[] args) throws TelegramApiException {
   TelegramBotsApi botsApi = new TelegramBotsApi(DefaultBotSession.class);
   Bot bot = new Bot();                  //We moved this line out of the register method, to access it later
   botsApi.registerBot(bot);            
   bot.sendText(1234L, "Hello World!");  //The L just turns the Integer into a Long
}

If you did everything correctly, your bot should text you Hello World! every time you launch your code. Sending messages to groups or channels – assuming you have the relevant permissions – is as simple as replacing 1234 with the ID of the respective chat.

Try experimenting with other types of messages, like SendPhoto, SendSticker, SendDice…
A full list is available starting here.

Echo Bot

Let’s practice everything we tried so far by coding an Echo Bot.
Its functionality will be rather simple: every text message it receives will be sent right back to the user.

Copying Text

The most intuitive way of coding this is saving the User ID and calling sendText right after each update.

In other words:

@Override
public void onUpdateReceived(Update update) {
    var msg = update.getMessage();
    var user = msg.getFrom();
    var id = user.getId();

    sendText(id, msg.getText());
}

This works for text but can be extended to stickers, media and files.

Copying Everything

There are more specific functions that can be used to copy messages and send them back.
Let’s build a method to do just that:

public void copyMessage(Long who, Integer msgId){
   CopyMessage cm = CopyMessage.builder()
              .fromChatId(who.toString())  //We copy from the user
           .chatId(who.toString())      //And send it back to him
           .messageId(msgId)            //Specifying what message
           .build();
    try {
        execute(cm);
    } catch (TelegramApiException e) {
        throw new RuntimeException(e);
    }
}

After replacing the method call inonUpdateReceived, running the code will result in a fully functional Echo Bot.

This tutorial assumes that updates always contain messages for the sake of simplicity. This may not always be true – be sure to implement all the proper checks in your code to handle every type of update with the appropriate methods.

Executing Commands

To learn what a command is and how it works, we recommend reading this dedicated summary.
In this guide, we’ll focus on the technical side of things.

Creating Your Command

Begin by opening @BotFather.
Type /mybots > Your_Bot_Name > Edit Bot > Edit Commands.

Now send a new command, followed by a brief description.
For the purpose of this tutorial, we’ll implement two simple commands:

scream - Speak, I'll scream right back 
whisper - Shhhhhhh

Command Logic

We want the Echo Bot to reply in uppercase when it’s in scream mode and normally otherwise.

First, let’s create a variable to store the current mode.

public class Bot extends TelegramLongPollingBot {

   private boolean screaming = false;

   [...]
}

Then, let’s change some logic to account for this mode.

public void onUpdateReceived(Update update) {
    [...]                                   //Same variables as the previous versions
   if(screaming)                            //If we are screaming
       scream(id, update.getMessage());     //Call a custom method
   else
       copyMessage(id, msg.getMessageId()); //Else proceed normally
}

private void scream(Long id, Message msg) {
   if(msg.hasText())
       sendText(id, msg.getText().toUpperCase());
   else
       copyMessage(id, msg.getMessageId());  //We can't really scream a sticker
}

Finally, let’s add a couple more lines to the onUpdateReceived method to process each command before replying.

if(msg.isCommand()){ 
   if(msg.getText().equals("/scream"))         //If the command was /scream, we switch gears
      screaming = true;
   else if (msg.getText().equals("/whisper"))  //Otherwise, we return to normal
      screaming = false;

   return;                                     //We don't want to echo commands, so we exit
}

As you can see, it checks if the message is a command. If it is, the bot enters scream mode.
In the update method, we check which mode we are in and either copy the message or convert it to upper case before sending it back.

And that’s it. Now the bot can execute commands and change its behavior accordingly.

Naturally, this simplified logic will change the bot’s behavior for everyone – not just the person who sent the command. This can be fun for this tutorial but won’t work in a production environment – consider using a Map, dictionary or equivalent data structure to assign settings for individual users.

Remember to always implement a few basic global commands.
You can practice by implementing a simple feedback to the /start command, which we intentionally left out.

Buttons and Keyboards

To streamline and simplify user interaction with your bot, you can replace many text-based exchanges with handy buttons. These buttons can perform a wide variety of actions and can be customized for each user.

Button Types

There are two main types of buttons:

  • Reply Buttons — used to provide a list of predefined text reply options.
  • Inline Buttons — used to offer quick navigation, shortcuts, URLs, games and so much more.

Using these buttons is as easy as attaching a ReplyKeyboardMarkup or an InlineKeyboardMarkup to your SendMessage object.

This guide will focus on inline buttons since they only require a few extra lines of code.

Creating Buttons

First of all, let’s create some buttons.

 var next = InlineKeyboardButton.builder()
            .text("Next").callbackData("next")           
            .build();

 var back = InlineKeyboardButton.builder()
            .text("Back").callbackData("back")
            .build();

 var url = InlineKeyboardButton.builder()
            .text("Tutorial")
            .url("https://core.telegram.org/bots/api")
            .build();

Let’s go back through the fields we specified:

  • Text — This is what the user will see, the text that appears on the button
  • Callback Data — This will be sent back to the code instance as part of a new Update, so we can quickly identify what button was clicked.
  • Url — A button that specifies a URL doesn’t specify callbackdata since its behavior is predefined – it will open the given link when tapped.

Creating Keyboards

The buttons we created can be assembled into two keyboards, which will then be used to navigate back and forth between two sample menus.

First, add two fields to store the necessary keyboards.

private boolean screaming = false;

private InlineKeyboardMarkup keyboardM1;
private InlineKeyboardMarkup keyboardM2;

Then, build and assign them.

keyboardM1 = InlineKeyboardMarkup.builder()
          .keyboardRow(List.of(next)).build();  

//Buttons are wrapped in lists since each keyboard is a set of button rows
keyboardM2 = InlineKeyboardMarkup.builder()
          .keyboardRow(List.of(back))
          .keyboardRow(List.of(url))
          .build();

You can place this code wherever you prefer, the important thing is making sure that keyboard variables are accessible from the method call that will send the new menu. If you’re confused by this concept and don’t know where to put them, just paste them above the command processing flow.

Sending Keyboards

Sending a keyboard only requires specifying a reply markup for the message.

public void sendMenu(Long who, String txt, InlineKeyboardMarkup kb){
    SendMessage sm = SendMessage.builder().chatId(who.toString())
            .parseMode("HTML").text(txt)
            .replyMarkup(kb).build();

    try {
        execute(sm);
    } catch (TelegramApiException e) {
        throw new RuntimeException(e);
    }
}

You may have noticed that we also added a new parameter, HTML.
This is called a formatting option and will allow us to use HTML tags and add formatting to the text later on.

Menu Trigger

We could send a new menu for each new user, but for simplicity let’s add a new command that will spawn a menu. We can achieve this by adding a new else clause to the previous command flow.

 var txt = msg.getText();
 if(msg.isCommand()) {
        if (txt.equals("/scream"))
            screaming = true;
        else if (txt.equals("/whisper"))
            screaming = false;
        else if (txt.equals("/menu"))
            sendMenu(id, "<b>Menu 1</b>", keyboard1);
        return;
 }

Try sending /menu to your bot now. If you did everything correctly, you should see a brand new menu pop up.

In a production environment, commands should be handled with an appropriate design pattern that isolates them into different executor classes – modular and separated from the main logic.

Navigation

When building complex bots, navigation is essential. Your users must be able to move seamlessly from one menu to the next.

In this example, we want the Next button to lead the user to the second menu.
The Back button will send us back.
To do that, we will start processing incoming CallbackQueries, which are the results we get after the user taps on a button.

A CallbackQuery is essentially composed of three main parameters:

  • queryId — Needed to close the query. You must always close new queries after processing them – if you don’t, a loading symbol will keep showing on the user’s side on top of each button.
  • data — This identifies which button was pressed.
  • from — The user who pressed the button.

Processing in this context just means executing the action uniquely identified by the button, then closing the query.

A very basic button handler could look something like:

private void buttonTap(Long id, String queryId, String data, int msgId) {

    EditMessageText newTxt = EditMessageText.builder()
            .chatId(id.toString())
            .messageId(msgId).text("").build();

    EditMessageReplyMarkup newKb = EditMessageReplyMarkup.builder()
            .chatId(id.toString()).messageId(msgId).build();                           

    if(data.equals("next")) {
        newTxt.setText("MENU 2");
        newKb.setReplyMarkup(keyboardM2);
    } else if(data.equals("back")) {
        newTxt.setText("MENU 1");
        newKb.setReplyMarkup(keyboardM1);
    }

    AnswerCallbackQuery close = AnswerCallbackQuery.builder()
            .callbackQueryId(queryId).build();

    execute(close);
    execute(newTxt);
    execute(newKb);
}

With this handler, whenever a button is tapped, your bot will automatically navigate between inline menus.
Expanding on this concept allows for endless combinations of navigable submenus, settings and dynamic pages.

Database

Telegram does not host an update database for you – once you process and consume an update, it will no longer be available. This means that features like user lists, message lists, current user inline menu, settings, etc. have to be implemented and maintained by bot developers.

If your bot needs one of these features and you want to get started on data persistence, we recommend that you look into serialization practices and libraries for your language of choice, as well as available databases.

Implementing a database is out of scope for this guide, however, several guides are available online for simple embedded open source software solutions like SQLite, HyperSQL, Derby and many more.

Your language of choice will also influence which databases are available and supported – the list above assumes you followed this Java tutorial.

Hosting

So far, your bot has been running on your local machine – your PC. While this may be good for developing, testing and debugging, it is not ideal for a production environment.
You’ll want your bot to be available and responsive at all times, but your computer might not always be online.

This can be done in four steps:

  • Package your code
    Making your bot easy to move and runnable outside of an IDE is essential to host it elsewhere.
    If you followed this tutorial, this standard guide will work for you. If you didn’t, look into export or packaging guides for your IDE and language of choice – procedures may vary but the end result is the same.

  • Purchase a VPS or equivalent service
    A server is essentially a machine that is always online and running, without you having to worry about anything. To host your bot, you can opt for a VPS which serves this purpose and can be rented from several different providers.
    Another option would be to purchase a network-capable microcontroller, which come in all different specs and sizes depending on your needs.

You should ensure that all user data remains heavily encrypted at all times in your database to guarantee the privacy of your users. The same concept applies to your local instance, however, this becomes especially important once you transfer your database to a remote server.

  • Upload your executable/package

Once you have a working ssh connection between your machine and your new server, you should upload your executable and all associated files.
We will assume the runnable jar TutorialBot.jar and its database dbase.db are currently in the /TBot folder.

$ scp -r /TBot/ username@server_ip:/bots/TBotRemote/
  • Run your application

Depending on which language you chose, you might have to configure your server environment differently. If you chose Java, you just need to install a compatible JDK.

$ apt install openjdk-17-jre
$ java -version

If you did everything correctly, you should see a Java version as the output, along with a few other values. This means you’re ready to run your application.

Now, to run the executable:

$ cd /bots/TBotRemote/
$ java -jar TutorialBot.jar

Your bot is now online and users can interact with it at any time.

To streamline and modularize this process, you could employ a specialized docker container or equivalent service.
If you followed along in one of the equivalent examples (C#, Python, Go and TypeScript) you can find a detailed set of instructions to export and run your code here.

Further Reading

If you got this far, you might be interested in these additional guides and docs:

  • General Bot Platform Overview
  • Detailed List of Bot Features
  • Full API Reference

If you encounter any issues while following this guide, you can contact us on Telegram at @BotSupport.

Всё, о чём должен знать разработчик Телеграм-ботов

Время на прочтение
16 мин

Количество просмотров 427K

Вы вряд ли найдете в интернете что-то про разработку ботов, кроме документаций к библиотекам, историй «как я создал такого-то бота» и туториалов вроде «как создать бота, который будет говорить hello world». При этом многие неочевидные моменты просто нигде не описаны.

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

Подробный гайд о том, как работать с ботами — под катом.

Статья обновлена в январе 2022

  • Обновлена информация об id пользователей и чатов: теперь их нельзя хранить в 32-битном типе чисел.

  • Добавлен раздел о сообщениях от лица групп и каналов

  • Обновлена информация о различных меню команд для отдельных чатов и пользователей.

  • Добавлена информация о спойлерах в разметке сообщений.

  • Добавлен раздел об обновлениях Bot API.

Содержание

Начало работы
— Telegram API vs Telegram Bot API
— На чём пишут Телеграм-ботов
— Создание бота
— Юзернеймы
— Оформление бота

Сообщения и чаты
— Запуск бота пользователем
— Сообщения
— Куда может писать бот
— Супергруппы
— id пользователей и чатов
— id сообщений
— Видимость сообщений в группах
— Сообщения от лица групп и каналов
— Команды
— Разметка сообщений
— Кнопки

Взаимодействие с ботом
— Ссылки на бота
— Инлайн-режим
— Создание наборов стикеров
— Платежи через ботов
— HTML-игры в ботах
— Telegram Login Widget

Разработка ботов
— Какие апдейты можно получать
— Обновления API
— Лимиты
— Рассылка по пользователям
— Смена владельца бота
— Локальный сервер Bot API
— Юзерботы

Заключение

Начало работы

Telegram API vs Telegram Bot API

Рассказываю по порядку.

Телеграм использует собственный протокол шифрования MTProto. MTProto API (он же Telegram API) — это API, через который ваше приложение Телеграм связывается с сервером. Telegram API полностью открыт, так что любой разработчик может написать свой клиент мессенджера.

Для написания ботов был создан Telegram Bot API — надстройка над Telegram API. Перевод с официального сайта:

Чтобы использовать Bot API, вам не нужно ничего знать о том, как работает протокол шифрования MTProto — наш вспомогательный сервер будет сам обрабатывать все шифрование и связь с Telegram API. Вы соединяетесь с сервером через простой HTTPS-интерфейс, который предоставляет простую версию Telegram API.

Среди упрощений Bot API: работа через вебхуки, упрощенная разметка сообщений и прочее.

Почему-то мало кто знает о том, что боты могут работать напрямую через Telegram API. Более того, таким образом можно даже обойти некоторые ограничения, которые даёт Bot API.

Об авторизации ботов через Telegram API в официальной документации

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

На чём пишут Телеграм-ботов

Бот должен уметь отправлять запросы Телеграм-серверу и получать от него апдейты (updates, обновления).

Как получать апдейты в Bot API

Получать апдейты можно одним из двух способов:

  • Поллинг — просто регулярно отправлять запрос к серверу Телеграма для получения обновлений,

  • Вебхук — сделать так, чтобы Телеграм сам отправлял запросы по нужному URL.

Конечно, удобнее использовать библиотеки, чем делать http-запросы «руками».

Если вы попробуете загуглить, как написать Телеграм-бота на Python, вам предложат воспользоваться библиотеками python-telegram-bot и telebot. Но не стоит.

Ну, если вы только хотите познакомиться с разработкой ботов и написать своего hello-world-бота, то можете, конечно использовать и их. Но эти библиотеки могут далеко не всё. Среди разработчиков ботов лучшей библиотекой для ботов на Python считается aiogram. Она асинхронная, использует декораторы и содержит удобные инструменты для разработки. Ещё был хороший Rocketgram, но он давно не обновлялся.

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

Если же вы хотите использовать Telegram API, то можете воспользоваться Python’овскими Telethon и Pyrogram.

Пример кода бота

Если вы хотите получить какое-то представление о том, как вообще выглядит код бота, вот вам пример использования на aiogram с его странички на GitHub:

import asyncio
from aiogram import Bot, Dispatcher, types

async def start_handler(event: types.Message):
    await event.answer(
        f"Hello, {event.from_user.get_mention(as_html=True)} ?!",
        parse_mode=types.ParseMode.HTML,
    )

async def main():
    bot = Bot(token=BOT-TOKEN)
    try:
        disp = Dispatcher(bot=bot)
        disp.register_message_handler(start_handler, commands={"start", "restart"})
        await disp.start_polling()
    finally:
        await bot.close()

asyncio.run(main())

Этот бот будет отвечать на команды /start и и /restart.

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

Единственная информация о Телеграм-ботах, которой в интернете полным-полно: как создать бота. Это делается через специального бота BotFather. Когда вы создадите бота, BotFather даст вам его токен. Токен выглядит примерно так: 110201543:AAHdqTcvCH1vGWJxfSeofSAs0K5PALDsaw. Именно с помощью токена вы сможете управлять ботом.

Один пользователь может создать до 20 ботов.

В BotFather удобно управлять ботами своими командой /mybots.

Юзернеймы

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

Как поменять юзернейм бота

Если у вас есть бот, и вы хотите дать ему более короткий юзернейм (который может быть занят неработающим ботом), то вы, теоретически, можете это сделать через @BotSupport.

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

Принято использовать такой формат обращения в поддержку:

  1. @old_username,

  2. @new_username,

  3. Что бот делает.

Если вы везунчик 9999 lvl — вам ответят.

Юзернейм бота выглядит как обычный юзернейм, но он должен заканчиваться на «bot».
Вы могли видеть ботов с именами @pic, @vid, @sticker, @gamee — это официальные боты Телеграма. Им можно нарушать все правила :)

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

Оформление бота

Открыв бота, пользователи могут увидеть его профиль.

Оформление бота настраивается в BotFather: меню /mybotsEdit Bot. Там можно изменить:

  1. Имя бота.

  2. Описание (Description) — это текст, который пользователи будут видеть в начале диалога с ботом под заголовком «Что может делать этот бот?»

  3. Информация (About) — это текст, который будет виден в профиле бота.

  4. Аватарка. Аватарки ботов, в отличие от аватарок пользователей и чатов, не могут быть анимированными. Только картинки.

  5. Команды — тут имеются ввиду подсказки команд в боте. Подробнее о командах ниже.

  6. Inline Placeholder — об инлайн-режиме см. ниже.

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

Сообщения и чаты

Запуск бота пользователем

Когда пользователь впервые открывает бота, он видит кнопку «Запустить» или «Начать» (зависит от платформы пользователя), на английском — «Start». Нажимая на эту кнопку, он отправляет команду /start.

Таким образом, первое сообщение от пользователя — это всегда /start (либо /start с параметрами, об этом ниже в разделе «Диплинки»).

…если пользователь использует официальный клиент

На стороне сервера это не проверяется, поэтому теоретически пользователь может отправить боту любое сообщение через Telegram API.

Сообщения

Понятно, что главная функция бота — отправлять и получать сообщения.

И то, и другое можно делать со всеми видами сообщений (фото и видео, файлы, опросы, голосовые сообщения и т. д.).

В Телеграме можно делиться файлами до 2 ГБ, но в Bot API более жесткие лимиты: боты могут скачивать файлы до 20 МБ и отправлять файлы до 50 МБ.

Работа с файлами в Bot API

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

Загружать файл на сервер можно в том числе и по URL файла.

Подробнее об отправке файлов в Bot API

Куда может писать бот

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

Боты не могут писать другим ботам.

Бота можно добавить в группу (если в BotFather включена соответствующая настройка). По умолчанию он видит не все сообщения (об этом ниже, в разделе «Видимость сообщений в группах»).

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

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

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

Как боты добавляют кнопки

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

Подробнее о кнопках тоже ниже.

Супергруппы

На самом деле многие группы в Телеграме являются супергруппами.

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

Со временем, видимо, решили, что это неудобная концепция. Теперь обычная группа становится супергруппой, когда у группы меняются какие-нибудь настройки (подробнее тут). Вот такой костыль.

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

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

id пользователей и чатов

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

В токене бота первая часть — это его id. Например, токен 110201874:AAHdqTcvCH1vGWJxfSeofSAs0K5PALDsaw принадлежит боту с id 110201874.

В Bot API перед id супергрупп и каналов пишется -100. Так, id 1356415630 превращается в -1001356415630.

Не следует хранить id пользователей и чатов в 32-битном типе числа: теперь id могут превышать 231-1.

id сообщений

Каждое сообщение в Телеграме имеет свой id. Это относится и к системным сообщениям (пользователь зашел в группу, изменилось название группы и т. д.)

Через Telegram API боты могут получать по запросу сообщения в любом чате по их id.

id сообщений в супергруппах и каналах уникальны для чата: первое сообщение в чате имеет номер 1, второе имеет номер 2 и так далее.

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

Видимость сообщений в группах

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

Но если боту нужно видеть все сообщения в группе (например, если это чат-бот или антиспам-бот), для него можно отключить Privacy mode.

Privacy mode — настройка в BotFather, которая по умолчанию включена. В таком режиме бот в группах видит только такие сообщения:

  • Сообщения с упоминанием бота,

  • Ответы на сообщение бота, ответы на ответы и так далее,

  • Системные сообщения,

  • Команды — о них в следующем пункте.

А если Privacy mode выключен, то бот видит все сообщения в группе.

Если бот — админ в группе, то он в любом случае видит все сообщения.

Бот, работающий через Bot API, в любом случае не будет видеть сообщения от других ботов.

Бот видит не все сообщения

Бот видит не все сообщения
Я включил Privacy mode, а он не работает

Нужно удалить бота из группы и добавить заново.

Исправленный баг с видимостью сообщений

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

Это могло нарушить работу антиспам- и других ботов.

Сейчас баг уже исправлен.

О Privacy mode в документации Bot API

Сообщения от лица групп и каналов

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

  • Сообщения в группе из привязанного канала (с точки зрения API это пересланные сообщения)

  • Сообщения от лица группы от анонимных администраторов той же группы

  • Сообщения от лица публичных каналов от любых пользователей

Учитывайте это при разработке ботов для групп.

Команды

Часто используемый способ «общения» пользователей с ботом — команды. Команды начинаются на «/» и состоят из латинских букв (можно использовать цифры и нижние подчеркивания).

Команды подсвечиваются как ссылки: нажатие отправляет команду в чат.

В группах, чтобы различать команды от разных ботов, Телеграм предлагает ставить в конце команды юзернейм бота. Например: /start@examplebot.

В BotFather можно указать подсказки команд для бота. Он будут отображаться при вводе «/» и команд. Если есть подсказки, рядом с кнопкой «Отправить» появляется кнопка для открытия меню команд.

Если в подсказках команд есть /help, в профиле бота появляется кнопка «Помощь с ботом». Нажатие на кнопку отправляет эту команду.

Если в подсказках команд есть /settings, в профиле бота появляется кнопка «Настройки бота». Нажатие на кнопку отправляет эту команду.

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

Разметка сообщений

Как вы, наверное, знаете, сообщения в Телеграме могут содержать не только обычный текст, но и жирный, курсив и др. В Bot API разметку сообщений можно делать в HTML и Markdown.

Разметка в Telegram API

В Telegram API для разметки надо вместе с сообщением передавать entities (MessageEntityBold, MessageEntityItalic и так далее). Хорошие библиотеки сами превращают HTML/Markdown в текст и entities.

Способы выделения текста:

  • Жирный текст

  • Курсив

  • Подчёркнутый текст

  • Зачёркнутый текст

  • Моноширинный текст ("в строке" и "блоком")

  • Ссылка (встроенная в текст)

  • Спойлер — текст, который показывается только после нажатия на плашку

  • Упоминание пользователя — текст, похожий на ссылку, клик по которому открывает профиль пользователя. Если упомянуть в группе её участника, он получит уведомление.
    Чтобы вставить в сообщение упоминание пользователя, в Bot API нужно встроить ссылку на tg://user?id=123456789.

О разметке в документации Bot API

Кнопки

Инлайн-кнопки

Бот может оставлять кнопки под своими сообщениями.

Кнопки под сообщениями (они же inline keyboards / inline buttons) в основном бывают трёх видов:

  • URL button — кнопка с ссылкой.

  • Callback button. При нажатии на такую кнопку боту придёт апдейт. С созданием кнопки можно указать параметр, который будет указан в этом апдейте (до 64 байтов). Обычно после нажатий на такие кнопки боты изменяют исходное сообщение или показывают notification или alert.

  • Switch to inline button. Кнопка для переключения в инлайн-режим (об инлайн-режиме см. ниже). Кнопка может открывать инлайн в том же чате или открывать меню для выбора чата. Можно указать в кнопке запрос, который появится рядом с никнеймом бота при нажатии на кнопку.

Дополнительные виды кнопок

  • Login URL button — специальная кнопка для авторизации пользователей на сайте. Использовалась, например, в официальном боте @discussbot (до добавления нативных комментариев в Телеграм).

  • Callback game button — кнопка для открытия HTML-игры. См. пункт «HTML-игры».

  • Pay button — кнопка для платежей. См. пункт «Платежи через ботов».

Клавиатурные кнопки

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

При этом в личных чатах с помощью кнопки можно:

  • Запросить номер телефона пользователя,

  • Запросить геолокацию пользователя,

  • Открыть у пользователя меню создания опроса.

Есть опция resize_keyboard, которая отвечает за то, изменять ли высоту этой «клавиатуры из кнопок». По умолчанию она, почему-то, выключена, и тогда высота клавиатуры стандартная большая. Получаются кнопки как на этой картинке:

Чтобы показать клавиатурные кнопки, бот должен отправить сообщение. Можно отправить клавиатуру, которая свернётся (но не пропадёт) после нажатия на кнопку.

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

  • Для пользователей, юзернеймы которых были в тексте сообщения,

  • Если это ответ на другое сообщение: для пользователя, который его отправил.

Ещё о кнопках

Оба типа кнопок могут составлять несколько рядов, в каждом из которых по несколько кнопок. Ограничения: в ряду может быть до 8 кнопок, а всего с сообщением до 100 кнопок.

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

  • Добавить к сообщению инлайн-кнопки,

  • Показать клавиатурные кнопки,

  • Убрать все клавиатурные кнопки,

  • Force reply: автоматически заставить пользователя ответить на сообщение. Так произойдёт то же самое, что и при нажатии пользователем кнопки «Ответить». Это нужно для того, чтобы бот мог общаться с пользователями в группах, не нарушая Privacy mode.

Таким образом, нельзя показать оба типа кнопок одновременно.

Взаимодействие с ботом

Ссылки на бота

Юзернеймы ботов работают так же, как и любые другие юзернеймы в Телеграме: бота @examplebot можно открыть по ссылке t.me/examplebot.

Также существует прямая ссылка: tg://resolve?domain=examplebot

Подробнее о ссылках tg://

Такие ссылки могут не только заменять ссылки t.me, но и задавать свои действия. Например, tg://settings открывает настройки.

Список известных таких ссылок есть канале @DeepLink.

Ссылка на добавление в группу

По ссылке t.me/examplebot?startgroup=true у пользователя откроется меню: выбор группы для добавления бота.

Прямая ссылка: tg://resolve?domain=examplebot&startgroup=true

Диплинки

По ссылке t.me/examplebot?start=<ваш текст> пользователь может запустить бота с каким-то стартовым параметром (<ваш текст>).

Что происходит, когда пользователь переходит по такой ссылке:

  1. Бот открывается как обычно.

  2. Отображается кнопка «Запустить», даже если пользователь уже запускал бота.

  3. Пользователь нажимает на кнопку и видит сообщение /start (всё как обычно).

  4. Боту вместо этого приходит сообщение /start <ваш текст>

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

Наглядная гифка:

Часто диплинки используются для реферальных программ (в качестве параметра можно передавать id пользователя, который поделился ссылкой). Есть и другие применения.

Прямая ссылка: tg://resolve?domain=examplebot&start=<ваш текст>

О диплинках в документации Bot API

Инлайн-режим

Инлайн-режим (inline mode) — это специальный режим работы бота, с помощью которого пользователь может использовать бота во всех чатах.

Выглядит это так: пользователь вводит юзернейм бота в поле для ввода сообщения. После юзернейма можно ещё записать запрос (текст до 256 символов).

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

Инлайн-режим можно включить в BotFather, там же можно выбрать плейсхолдер вместо стандартного «Search…»

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

Страничка об инлайн-режиме на сайте Telegram

Результаты инлайн-режима

Результаты можно отображать двумя способами:

  • Сеткой. Удобно для выдачи картинок.

  • Вертикальным списком. Удобно для выдачи текста.

Можно совмещать два типа, но корректно отображается это только на Telegram Desktop.

Приватность и геопозиция в инлайне

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

Но зато если включить в BotFather настройку «Inline Location Data», то бот сможет видеть геопозицию пользователей, когда они используют инлайн (на мобильных устройствах). Перед этим у пользователей показывается предупреждение.

Inline feedback

Inline feedback — это апдейты о выбранных инлайн-результатах. Включаются через BotFather.

Предполагается использование inline feedback для сбора статистики, но не всегда он используется так. Inline feedback позволяет «подгружать» не все результаты сразу, а только выбранный. Например, если бот используется для поиска музыки, то он может загружать не все песни сразу, а только одну.

Важный момент: если вы получили апдейт об отправке инлайн-сообщения, то вы можете его редактировать, только если к нему прикреплены инлайн-кнопки. (Если кнопок нет, то в апдейте не указывается id инлайн-сообщения, по которому происходит редактирование).

Создание наборов стикеров

Боты (и только боты!) могут создавать наборы стикеров. При этом каждый набор стикеров должен принадлежать какому-то пользователю. Посмотреть свои наборы стикеров пользователь может с помощью бота @Stickers.

Платежи через ботов

Телеграм предоставляет ботам возможность принимать платежи от пользователей. Это делается через провайдеров ЮMoney, Сбербанк, Stripe и ещё 7.

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

Страница Bot Payments API

UPD 04.2021. В новом обновлении появилось больше возможностей платежей для разработчиков. Теперь боты могут отправлять платежи не только в лс, но и в группы и в каналы. Это позволяет сделать из канала «витрину», на которой можно сразу купить товар. Вы можете посмотреть, как это выглядит, в официальном демо-канале.

HTML-игры в ботах

Боты могут позволять пользователям играть в HTML5-игры в чатах. Бот может отправлять сообщения-игры или создавать их через инлайн-режим. Как это работает, можно посмотреть на примере официального @gamebot.

Страница Bot Gaming Platform

Telegram Login Widget

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

  1. Пользователь должен будет ввести свой номер телефона.

  2. Бот Telegram попросит подтвердить вход.

  3. Пользователь авторизуется и нажимает на «Принять» на сайте.

Telegram Login Widget не связан с Login URL button (см. раздел про кнопки выше), а является его альтернативой.

О Telegram Login Widget на сайте Телеграм

Разработка ботов

Какие апдейты можно получать

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

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

В Telegram API бот может чуточку больше: он может получать сообщения по id, получать список участников группы и прочее.

Получение апдейтов: Bot API vs Telegram API

Если вы получили апдейт в Bot API, то второй раз вы его уже не получите.

В Telegram API это не так: пользователь может пользоваться мессенджером через несколько клиентов, каждый из которых должен получать апдейты.

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

Ограничения Bot API не позволяют сделать то же самое.

Обновления API

Telegram API и Telegram Bot API обновляются с появлением новых фич в Телеграме. Все обновления Bot API описаны на отдельной странице в документации и в официальном канале BotNews.

Лимиты

Конечно, на запросы к серверу существуют лимиты. В Bots FAQ на сайте Telegram названы следующие:

  • Не больше одного сообщения в секунду в один чат,

  • Не больше 30 сообщений в секунду вообще,

  • Не больше 20 сообщений в минуту в одну группу.

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

Другие известные ограничения в Telegram собраны на limits.tginfo.me — см. раздел про ботов.

Рассылка по пользователям

Ниже в Bots FAQ сказано, что Bot API не позволяет рассылать сообщения всем юзерам одновременно и что в будущем, может быть, они что-то для этого сделают. И написано это уже несколько лет.

Они советуют растянуть рассылку на длительное время (8-12 часов) и замечают, что API не позволит отправлять сообщения более чем ~30 пользователям в секунду.

Смена владельца бота

Осенью 2020 года появилась возможность передавать ботов другому человеку. Это можно сделать в настройках бота в BotFather. Для этого на вашем аккаунте должна быть включена двухфакторная авторизация — не менее, чем за 7 дней до передачи. Передать бота можно только пользователю, который что-либо ему писал.

Локальный сервер Bot API

Также осенью 2020 года исходники Bot API выложили на GitHub. Теперь вы можете поднять собственный сервер Bot API. На GitHub перечислены следующие преимущества:

  • Скачивание файлов с сервера без ограничения (ограничение на отправку файлов пользователями в Телеграме — 2 ГБ),

  • Загрузка файлов на сервер до 2000 МБ,

  • Загрузка файлов на сервер с помощью локального пути и URI файла,

  • Использование HTTP URL для вебхука,

  • Использование любого локального IP-адреса для вебхука,

  • Использование любого порта для вебхука,

  • Возможность увеличить максимальное число соединений до 100000,

  • Получение локального пути файла вместо загрузки файла с сервера.

Юзерботы

В начале статьи я рассказывал о том, что такое Telegram API и Telegram Bot API.

Telegram API используется не только для ботов — тогда в чём проблема управлять аккаунтами пользователей, как ботами? Люди это делают. Кто-то автоматически ставит текущее время себе на аватарку, кто-то скриптом реагирует на свои сообщения как на команды, кто-то сохраняет сообщения из публичных групп и каналов. Всё это называют юзерботами.

Юзерботов следует использовать аккуратно: за большую подозрительную активность аккаунт могут ограничить или забанить.

Заключение

Я постарался собрать в одном месте и структурировать информацию о всех возможностях Телеграм-ботов. Большое спасибо vanutp, NToneE и Grinrill за помощь с фактами. Если мы что-то забыли — пишите, исправлю.

Я специально не разделял большую статью на несколько постов, чтобы можно было быстро найти нужную информацию. К тому же, в начале статьи есть её содержание. Так что можете сохранить её к себе и использовать как справочник :)

Вообще интерфейс бота (то есть интерфейс чата) имеет много ограничений. Но плохо ли это? Действительно удобнее использовать инструмент, когда это часть привычной среды. Я часто прямо в переписке нахожу нужную картинку или информацию с помощью инлайн-ботов. Как заядлый пользователь Телеграма, я люблю использовать ботов. И создаю ботов. И вы создавайте.

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

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

Шаг 1. Создайте аккаунт разработчика

1. Зарегистрируйтесь на botmother.com с помощью электронной почты (на нее придет письмо с подтверждением) или войдите через Google.

2. Нажмите кнопку «Создать нового бота» (справа внизу).

3. Выберите «Пустой бот».

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

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

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

На каждый экран можно добавлять компоненты— это функции и действия бота (например, отправление текста, картинок, кнопок и т.д.).

Все компоненты расположены на вкладке справа.

Шаг 2. Создайте приветствие

1. На вкладке «Компоненты» нажмите на компонент «Сообщение» и перетяните его на экран.

2. Напишите любой текст. Например, «Привет! Это мой первый бот».

3. Нажмите зеленую кнопку «Сохранить» (справа внизу).

Шаг 3. Подключите бота к мессенджеру

В Telegram чат-боты создаются с помощью специального бота @BotFather. Через него можно управлять данными бота, добавить описание, аватар и т.д.

Создадим бота и придумаем ему название:

2. Напишите ему /newbot.

3. Придумайте и напишите название бота. Оно будет отображаться в контактах и чатах. Например, «Hello, bot».

4. Придумайте и напишите юзернейм. Он используется для упоминания бота и в ссылках. Юзернейм должен быть на латинице и обязательно заканчиваться на «bot». Например, «botmother_hello_bot».

Теперь нужно подключить бота в Telegram к вашему аккаунту разработчика:

2. Скопируйте токен бота.

3. Вернитесь в конструктор, найдите и откройте в меню слева раздел «Настройки».

4. Переключателем включите платформу Telegram.

5. Нажмите кнопку «Изменить».

6. Вставьте ранее скопированный токен бота.

7. Сохраните изменения.

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

1. Найдите в поиске Telegram своего бота по юзернейму.

2. Нажмите «Начать» (или «Start»). Бот должен отправить приветственное сообщение.

Отлично! Ваш бот умеет отправлять сообщение.

Шаг 4. Добавьте дополнительные функции

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

Например:

Текст: Как дела?

Первая кнопка: Хорошо

Вторая кнопка: Плохо

Для этого добавим еще два экрана, кнопки и изображение:

1. Откройте конструктор.

2. Добавьте два новых экрана. Для этого нажмите кнопку «Добавить экран» дважды.

3. Сохраните изменения.

Можно изменить названия добавленных экранов двойным кликом:

1. Два раза кликните на названия экранов.

2. Отредактируй тексты. Например, «Экран Хорошо» и «Экран Плохо».

Добавим кнопки, на которые пользователи смогут нажимать:

1. Переместите компонент «Кнопки» на «Стартовый экран».

2. Напишите текст. Например, «Как дела?».

3. Добавьте две кнопки.

4. Напишите тексты на кнопках. Например, «Экран Хорошо» и «Экран Плохо».

Каждая кнопка должна вести на определенный экран, который указывается в настройках кнопки:

1. Нажмите на первую кнопку.

2. В поле «Переход на экран» выберите экран «Экран Хорошо».

3. Нажмите на вторую кнопку.

4. Выберите другой экран — «Экран Плохо».

5. Сохраните изменения.

Итак, на «Стартовом экране» пользователь нажимает на кнопки и попадает на разные экраны. Нужно заполнить их контентом:

1. Переместите компонент «Изображение» на экран «Экран Хорошо».

2. Загрузите любую картинку или вставьте ссылку на изображение.

3. Сохраните изменения.

Теперь заполним следующий экран:

1. Переместите компонент «Сообщение» на экран «Экран Плохо».

2. Напишите текст. Например, «Не унывай, все будет хорошо!». Можно добавить эмодзи.

3. Сохраните изменения.

Все готово!

Шаг 5. Протестируйте бота

У нас получился такой сценарий: бот приветствует пользователя и задает вопрос с вариантами ответов; пользователь нажимает кнопку, и бот присылает определенное сообщение. Давайте протестируем!

1. Откройте своего бота.

2. Напишите команду /start.

3. Понажимайте на кнопки.

Поздравляем!

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

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

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

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

Содержание

  • Зачем нужен бот в Телеграме
  • Как сделать бота в Телеграме
  • Как настроить нового бота с помощью Manybot
  • Как выглядит готовый к использованию бот

Зачем нужен бот в Телеграме

Потратьте немного времени и сделайте бесплатного бота в Телеграме, чтобы освободить себя от рутинной работы. Этот маленький помощник будет выполнять простую работу по общению с пользователями: разговаривать с ними, отправлять новые коллекции и отвечать на стандартные вопросы 24/7. Он не устает и не оставляет без внимания сообщения подписчиков, всегда отвечает им и создает уютную атмосферу, пока владелец занят более важными задачами.

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

Бот в Телеграме помогает подписчикам:

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

Кроме того, бот умеет:

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

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

В Телеграме и других соцсетях можно публиковать посты через сервис отложенного постинга SMMplanner. Вы можете планировать публикации одновременно в ВК, Одноклассники, другие соцсети и Телеграм. Это очень удобно – оцените сами. Тестировать весь функционал можно бесплатно в течение 2 недель после регистрации по ссылке – SMMplanner.

Подробно о том, как настроить автопостинг и зачем он нужен, – в статье «Автопостинг в Телеграме: боты, сервисы, возможности».

Одно из главных преимуществ любого бота в Телеграме – его не нужно устанавливать на устройство. Он работает прямо в мессенджере и там остается всегда.

Есть много способов создать бота в Телеграме: на телефоне или ПК, платных и бесплатных, с помощью программирования или конструкторов. А можно – вообще без знания кодов, на телефоне за пару часов.

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

Как сделать бота в Телеграме с помощью телефона

Заходим в Телеграм, в строке «Поиск» находим BotFather – это конструктор чат-ботов в Телеграме, нажимаем «Старт».

Хочешь сделать бота – найди бота, который их создает

Хочешь сделать бота – найди бота, который их создает

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

Бот пришлет сообщение, что поможет создать и управлять вашими ботами. А чтобы создать нового, нужно нажать на /newbot.

В большом количестве вариантов выбираем нужный

В большом количестве вариантов выбираем нужный

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

Если придуманное имя уже существует, BotFather предложит придумать другое, уникальное.

В нашем случае тренировочный бот выступает в качестве магазина одежды. Поэтому мы дали ему название – Showroom «Чёткие шмотки».

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

Робот родился, но он еще ничего не умеет. Ему еще предстоит научиться говорить и ходить.

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

Желтым прямоугольником выделен токен бота

Желтым прямоугольником выделен токен бота

Все остальное на английском и нам пока не нужно.

Далее листаем чат с BotFather вверх и находим там ссылку /mybots или вводим ее вручную. Выбираем нашего готового бота и нажимаем на него.

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

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

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

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

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

Для первой настройки нужно нажать Edit Bot. В этом разделе можно редактировать:

  • имя;
  • описание;
  • информацию;
  • картинку бота.

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

Как сделать приветствие в боте в Телеграме? Для создания/редактирования описания бота нужно нажать Edit Description, чтобы BotFather понял, что нам нужно изменить описание бота. После выбора этой функции главный бот пришлет сообщение с предложением ввести описание, которое увидят люди, когда откроют чат с новым ботом в блоке под названием «Что может делать этот бот?»

Заполняем Description – описание бота

Заполняем Description – описание бота

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

Заполняем поле Description и сохраняем изменения

Заполняем поле Description и сохраняем изменения

Мы придумали описание нашему боту. Когда мы заходим в чат, сразу видим его. Теперь бот умеет говорить, для чего он родился. Идем дальше.

После того, как мы придумали описание, выбираем Edit About, чтобы ввести информацию о боте.

Заполняем поле «Описание» или About

Заполняем поле «Описание» или About

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

Информация о боте готова, текс можно увидеть в чате с BotFather на картинке. Переходим к созданию аватарки.

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

Для выбора доступна вся ваша галерея

Для выбора доступна вся ваша галерея

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

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

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

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

Пора научить новичка командам. Выбираем пункт меню Edit Commands и получаем от бота такое сообщение: «ОК. Пришлите мне список команд для вашего бота, используя этот формат: command1 – описание; command2 – другое описание. Либо отправьте /empty, чтобы список оставался пустым».

Действуем, как говорит нам БотОтец – прописываем последовательно каждую команду

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

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

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

Как настроить нового бота с помощью Manybot

В 2022 году есть еще один конструктор для чат-ботов в Телеграме. Находим Manybot, жмем «Старт» и после приветственного сообщения нажимаем «Добавить нового бота».

Бот говорит с нами на русском, это намного удобнее

Бот говорит с нами на русском, это намного удобнее

Manybot предложит вам перейти в чат с BotFather и скопировать токен своего бота.

Переходим, копируем, нажимаем «Я скопировал токен».

Описание деятельности

После того, как Manybot принял токен нового бота, он предложит коротко описать, чем будет заниматься вновь прибывший бот, но этот момент можно пропустить, нажав команду /skip, как это сделали мы. Тем более, что мы уже описывали это через БотаОтца.

Кликаем на «Я скопировал токен»

Кликаем на «Я скопировал токен»

Далее от Manybot придет сообщение, что новый бот создан и настроен. Затем он предложит отправить сообщение вашим подписчикам с ссылкой на вашего бота.

Кликаем на /skip или прописываем описание заново

Кликаем на /skip или прописываем описание заново

Отправка первого сообщения подписчикам

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

Настройка команд

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

В чате выбираем пункт «Создать команду». Бот ответит вам, что вы можете создавать разные команды, на которые он будет отвечать заранее заданным образом.

Кликаем на «Создать команду»

Кликаем на «Создать команду»

Команда создается так же, как и в BotFather – вводим commands и номер. У нас команда уже пятая, так как мы тренировались и настраивали бота и его команды.

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

После запроса commands нужно нажать «Добавить вопрос» и выбрать вариант вопроса.

Бот может отвечать словами или файлами – как настроите

Бот может отвечать словами или файлами – как настроите

Есть 3 типа вопросов:

  • обычные;
  • развернутые;
  • с вариантами ответов.

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

Мы выбираем «Обычный вопрос», и наш бот будет отвечать любому подписчику, который пришлет ему текст, символ или даже картинку.

А что будет отвечать наш бот?

Аналогично настраиваются 2 других варианта

Аналогично настраиваются 2 других варианта

Даем произвольное название нашему обычному вопросу – «Головные уборы», загружаем картинку из галереи и нажимаем «Сохранить». То, что будет написано, покажется пользователям, которые будут запрашивать этот пункт.

Обязательно кликаем на «Сохранить»

Обязательно кликаем на «Сохранить»

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

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

Настройка видимости команды

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

У нас это уже не первая команда в настройке, поэтому не удивляйтесь, что у вас количество кнопок намного меньше, это только пока

У нас это уже не первая команда в настройке, поэтому не удивляйтесь, что у вас количество кнопок намного меньше, это только пока

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

Команда готова к использованию, ничего сложного

Команда готова к использованию, ничего сложного

Остальные пункты меню были созданы ранее тем же способом. Чтобы поменять их местами, в этом же меню выбираем нужную для перемещения команду и с помощью кнопок, которые будут доступны, перемещаем.

Как выглядит готовый к использованию бот

Вот так выглядит наш готовый бот с аккаунта подписчика:

Он рассказывает, что умеет делать, отвечает на команды

Он рассказывает, что умеет делать, отвечает на команды

Выбираем команду «О нас», чтобы посмотреть, поймет ли читатель, куда попал. И получаем ответ от бота «О нашей компании».

Можно ему ответить любым текстом и получаем в ответ: «Пример текста. Наша компания занимается…» Это то, что мы указали в настройках. Вы можете здесь написать все что угодно о своей компании. Старайтесь рассказывать коротко, но понятно. Или просто вставьте ссылку на свой сайт, чтобы люди могли туда зайти и почитать подробнее. Перегружать чат многостраничными сообщениями об «активно развивающейся компании» не стоит, человек вряд ли пришел за этим. А если ему очень интересно, он почитает на сайте.

«О нас» почитали, можно переходить и к делу – посмотрим на «головные уборы»

«О нас» почитали, можно переходить и к делу – посмотрим на «головные уборы»

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

Популярный и короткий вопрос «Еще?» может побуждать пользователя продолжать общение

Популярный и короткий вопрос «Еще?» может побуждать пользователя продолжать общение

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

Таким же образом работают остальные кнопки

Таким же образом работают остальные кнопки

Головные уборы рассмотрели, а что там в пункте «Одежда»? Он настроен аналогично предыдущему, присылает картинки и общается с пользователем. Можно настроить сложную ветвь вариантов ответов, ведущих к разным пунктам и папкам. В ней подписчик будет плавно переходить к покупке, подписке или регистрации.

Все варианты модной одежды к вашим услугам

Все варианты модной одежды к вашим услугам

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

Если нужно подробно изучить чат-боты и рассылки в ВК, приходите на 14-дневный практический курс «Рассылки, чат-боты и автоворонки ВКонтакте» от SMM.school. Там научитесь автоматизировать работу с помощью Senler, запускать рассылки, прогревать и продавать во ВКонтакте. Это самое актуальное руководство по автоматическим инструментам для продвижения бизнеса в ВК на данный момент.

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

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

На сегодняшний день, Телеграм — это огромный интернет-комбайн, где можно:

  • Вести переписки, как в открытых чатах, так и в приватных (статья о секретном чате)
  • Читать новости или потреблять другой контент с помощью каналов
  • Загружать и скачивать файлы, тем более недавно появился менеджер загрузок
  • Совершать купле-продажу разных типов товаров (даже писали об этом вот тут)
  • Слушать музыку

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

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

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

Создание бота в Telegram: пошаговая инструкция

Итак, пойдем по порядку. Для создания своего бота нам понадобится юзернейм @BotFather, вот этот:

поиск бота в telegram

Нажимаем «Запустить», и в ответном сообщении сразу присылается меню. Оно на английском, но ничего сложного нет.

Выбираем /newbot, далее в сообщении пишем название своего нового бота.

задаем имя бота

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

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

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

поиск бота в telegram

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

Основные команды в BotFather:

  • /setname — изменить имя бота
  • /setdescription — изменить описание бота
  • /setuserpic — изменить аватарку бота
  • /setcommands — задать команды для бота
  • /deletebot — удалить бота

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

аватарка бота

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

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

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

сервис для менеджемта бота

Итак, попадаем в Телегу к Manybot и там имеется русский интерфейс, что очень радует.

стартовое окно manybot

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

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

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

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

назначение бота администратором канала

Для подключения канала к боту, нужно отправить тестовое сообщение. И да, нам пришло уведомление в канале. Простейшие функции уже работают.

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

Окей, давайте создадим парочку команд:

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

добавление команд для бота

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

добавление новой команды

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

редактирование действий команды

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

добавление сообщения к команде

Теперь при вызове команды /bang, в ответе будет ссылка на наш сайт.

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

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

добавление вопроса на команду

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

примеры кнопок в боте

А вот и новые ответы на форму:

ответы на форму

Если пользователь тапнет на «Хочу заказать услугу», то пользователя можно найти и написать ему.

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

пример работы обратной связи

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

На этот раз добавили команды для всех подразделов нашего блога. Перед этим добавив команду /blog, она будет корневой.

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

добавление списка команд

Итак, у нас есть много команд, которые мы будем обрамлять в удобные кнопки меню. Но сперва «зашиваем» в команды ссылки на наши подразделы блога как это описано выше.

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

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

добавление пунктов меню

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

Вот так теперь выглядит наш бот.

кнопки контактов

При переходе в социальные сети появляются их кнопки:

кнопки социальных сетей

А при переходе в блог сперва появляется опрос:

опрос в блоге

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

И далее появляются его подразделы.

подразделы блога в боте

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

Если зайти с другого аккаунта, бот отображается вот так:

вид бота из другого аккаунта

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

Для этого в главном меню бота нажимаем на «Отправить новое сообщение пользователям», печатаем наше сообщение и жмем «Отправить пост подписчикам».

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

постинг сообщений на канал

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

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

Помимо RSS, можно подключить и Youtube.

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

Так просто?

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

А если вы еще не подписаны на наш канал, то советую исправить это недоразумение. :) Делимся только полезными новостями из мира SEO и интернет-маркетинга.

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

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

Бот vs. канал

Какие преимущества у бота по сравнению с Telegram-каналом:

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

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

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

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

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

Стартуйте в Telegram Ads на комфортных условиях!

Только в eLama оплата частями через 30 и 60 дней после запуска, а второе и следующие пополнения — с бюджетом от 150 €!

Запустить Telegram

Подготовка к созданию бота

Нам потребуются:

  • Аккаунт в сервисе eLama с тарифом Optimal, чтобы иметь бесплатный доступ к Smartbot Pro. Чтобы сохранять работоспособность бота, нужно каждый месяц заходить в конструктор с авторизацией через eLama.

  • Аккаунт в Google, чтобы сделать Google Форму.

  • Личный профиль в Telegram.

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

  • Пять—десять минут времени.

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

  • Зайдите в Smartbot Pro через eLama

  • Создайте кабинет

  • Задайте настройки

  • Подключите BotFather

  • Пропишите сценарий бота

  • Опубликуйте и проверьте

Зайдите в Smartbot Pro через eLama

Авторизуйтесь в личном кабинете eLama и в меню слева выберите раздел «Маркетплейс инструментов». Затем найдите в списке Smartbot Pro и уверенно жмите «Использовать бесплатно» — как клиент eLama, вы сэкономите 9000 руб. в год.

Маркетплейс инструментов

Мы в eLama создаем бесплатный маркетплейс инструментов для работы с рекламой. Помимо Smartbot Pro, в нем есть решения для борьбы со скликиванием, сбора аудиторий ВКонтакте, увеличения продаж на товарных маркетплейсах, упрощения отчетности и другие возможности. eLama полностью оплачивает доступ к этим инструментам для клиентов на тарифе Optimal.

Узнать о бесплатных инструментах —>

Создайте кабинет в конструкторе

Вы залогинились в Smartbot Pro через eLama и наблюдаете приветственный интерфейс сервиса. Создайте собственный кабинет — введите его название и адрес. Можно выбрать любое название: оно не повлияет на функционирование бота.

Регистрация в Smartbot Pro

Задайте настройки

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

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

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

Настройки создания

Подключите BotFather

Не закрывайте SmartbotPro, параллельно откройте Telegram на компьютере и перейдите в бот BotFather. Нажмите кнопку Menu рядом с полем для ввода текста и выберите команду /newbot.

Ввод команды для начала

Затем добавьте:

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

Название бота

  • Юзернейм — он должен оканчиваться на _bot, например: pashaisgreat_bot. Это ссылка, которая будет использована, например, в рекламных размещениях. По ней пользователи будут попадать в бота. Обычно она скрыта от глаз и видна только в окне «Информация о боте», но в идеале должна быть похожа на название бота — по ней подписчики тоже могут искать его в поиске.

Юзернейм или ссылка на бота

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

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

Описание бота

  • Информацию о боте — чтобы объяснить, чем полезен бот.

Информация о боте

  • Ключ — его передадим в Smartbot Pro, чтобы бот, который мы там создаем, работал в Telegram.

Когда мы задали название-имя и юзернейм-ссылку, BotFather пришлет нам токен из цифр и знаков.

Строка с токеном

Его нужно скопировать и вставить в поле «Токен» на вкладке «Канал» в настройках Smartbot Pro.

Куда нужно вставить токен

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

Пропишите сценарий бота

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

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

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

Конструктор бота

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

2 — блоки. Каждый блок — это событие: например, приветственное сообщение после запуска бота или сообщение с предложением оставить заявку.

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

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

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

Итак, мы изучили интерфейс Smartbot Pro. Теперь добавим тексты в блоки. У нас будет пять блоков:

  • приветственное сообщение;

  • выбор опций: оставить заявку, получить чек-лист, узнать контакты;

  • оставить заявку;

  • получить чек-лист;

  • узнать контакты.

Форма в конструкторе

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

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

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

В Smartbot Pro в блоке «Добавление строки в Google Таблицу» добавьте поля «Запись в строку». Поставьте знак процента и выберите, какие данные о пользователях хотите собрать: имя, фамилию, пол, дату рождения, контакты. Если не планируете собирать телефоны, обязательно соберите данные с именем пользователя — username, датой — date и временем — time, чтобы хоть как-то его идентифицировать.

Сбор данных пользователей

Авторизуйте Smartbot Pro в Google Таблицах, чтобы он мог отправлять данные в вашу таблицу. В нем доступны и другие способы работы с заявками — например, передача лида в amoCRM.

Рекомендации по созданию сообщений в боте

  • Описание бота — это первое, что видит пользователь еще до захода в него. Его нужно заполнить в BotFather. Напишите в описании, что происходит в боте и зачем пользователю в него заходить.

Описание бота

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

  • Используйте метки и сохраните их в отдельной таблице, чтобы понимать, откуда приходят пользователи в бот. Для этого добавьте к ссылке бота параметр start= и после знака равно впишите названия, по которым определите источник перехода. Например, при размещении рекламы бота «Еламыч» в канале «Русский маркетинг», добавьте к ссылке бота https://t.me/elama_choose_adv_bot метку с названием канала латиницей — ?start=russkiy_marketing. Должно получиться так:

https://t.me/elama_choose_adv_bot?start=russkiy_marketing

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

  • Чтобы кнопки были удобными, размещайте их внутри сообщения. Для этого в Smartbot Pro есть специальная галочка «Показывать кнопки внутри сообщения inline». Если в кнопках длинные надписи, лучше пронумеровать их цифрами, буквами или эмодзи и приложить расшифровку знаков в посте. Слишком длинный текст может не отображаться на кнопке целиком и останется неясным для пользователя.

  • Когда предлагаете пользователю ввести номер телефона, предусмотрите несколько вариантов. Например, внутри Telegram есть функция, которая позволяет передать телефон одним нажатием кнопки.

Кнопка с автоматическим отправлением номера

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

Опубликуйте и проверьте

Наконец, нажмите «Опубликовать». Бот готов, теперь его нужно проверить — пройти все возможные сценарии в самом Telegram. Получить полезный материал, оставить заявку, проверить, попала ли заявка в Google Таблицу и напомнить менеджеру по продажам, что ему нужно заглядывать в эту таблицу. Также вы можете настроить уведомления о заявках в сам Telegram. Затем исправить ошибки, если они есть, а в дальнейшем — дорабатывать чат-бот под специфику своего продукта, анализировать его и улучшать.

Мы сделали бот с простым, но, по ощущениям, самым популярным сценарием. Теперь вы можете тестировать и запускать его или другие шаблоны из инструмента Smartbot Pro, бесплатного для клиентов eLama.

Для хороших рассылок нужны хорошие помощники, которые упростят настройку сообщений и в целом ускорят все процессы. Чат-боты в Telegram идеально подходят для этой роли. 

В статье расскажем, какие бывают боты в Telegram и как они работают, дадим топовую подборку чат-ботов от редакции Sendsay. Бонусом объясним, как настроить рассылку через чат-бота в Telegram.

Зарегистрируйтесь

И попробуйте Sendsay бесплатно

Что такое чат-боты и для чего они нужны

Чат-бот наряду с рекламой и стикерами – один из инструментов мессенджер-маркетинга.

Определение чат-бота уже прослеживается в его названии. «‎Чат» – общаться, «‎бот» – собственно, бот. То есть это общение через бот, а именно – общение компании с пользователем через бот.

Чат-бот – это программа, которая ведет диалог с пользователем от лица компании. 

Можно сказать, что чат-бот – это виртуальный помощник, и вот как он помогает:

  • Быстро решает проблемы клиентов. Чат-бот работает как ускоренная служба поддержки: оперативно обрабатывает запросы покупателей и помогает разбираться в проблемах. Кстати, 64 % потребителей считают, что круглосуточное обслуживание — самая ценная функция чат-ботов, а 65 % клиентов чувствуют себя комфортно, решая проблему без участия человека. Так что, чат-боты здорово разгружают колл-центр и службу поддержки, а еще помогают клиентам меньше переживать.
  • Отвечает на часто задаваемые вопросы. Иногда нужно быстро уточнить, как работает салон красоты в праздники, можно ли заселиться в отель с собакой, есть ли в магазине нужная книга – чат-боты помогают и с этим. Кстати, 69 % потребителей предпочитают использовать чат-ботов именно потому, что они дают мгновенные ответы. Не нужно никуда звонить и ждать очереди на линии. 
  • Принимает заказы. 41 % чат-ботов используется для продаж. И это объяснимо: с помощью чат-бота легко продвигать людей по воронке продаж. Например, человек может перейти в чат-бот, чтобы скачать подборку от стилиста, а через какое-то время заказать одежду на сайте.
  • Собирает данные клиентов. Чат-бот позволяет органично собирать информацию о новых пользователях. Например, компания может поинтересоваться, как лучше обращаться к человеку, или уточнить его предпочтения по товарам. 

Статья по теме: На страже персональных данных: как собирать информацию о клиентах

  • Дублирует функционал сайта. Чат-бот можно связать с разными разделами сайта. Например, человек может запросить у чат-бота подборку статей, которые вышли в блоге на неделе, а бот их пришлет.
  • Собирает обратную связь. Через чат-боты удобно собирать отзывы о товарах и услугах. Для отработки негативной обратной можно переводить пользователя на оператора. Кстати, если говорить об опыте использования самих чат-ботов, 80 % клиентов оценивают его как положительный.
  • Развлекает клиентов. В чат-ботах можно проводить викторины, опросы, прочие интерактивы и там же дарить призы за их прохождение.
  • Делает рассылки. В чат-боте можно настроить рассылку для текущих и потенциальных клиентов – почти так же, как в сервисе рассылок. Подробнее остановимся на этой возможности дальше. 

Пример опроса в телеграм-канале Полезный Маркетинг

Пример опроса в телеграм-канале Полезный Маркетинг

Это не все функции чат-ботов, но основные. Чат-бот может сочетать несколько функций или делать что-то одно.

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

Какому бизнесу полезно настроить чат-бота

Статистика по сегментам говорит, что B2B-компании используют чат-боты чаще (58 %), чем B2C-компании (42 %). 

В сегменте B2C чат-боты особенно подходят:

  • интернет-магазинам
  • косметологическим центрам
  • медицинским центрам
  • банкам
  • гостиничному бизнесу
  • агентствам разного профиля
  • инфобизнесу

На B2B рынке чат-боты используют в сферах:

  • ритейла
  • финансов
  • страхования
  • недвижимости
  • информационных технологий

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

А если говорить о потребностях бизнеса, то чат-боты особенно помогут компаниям, у которых:

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

Вообще, чат-боты – это мастхэв для любой компании, которая хочет упростить свою работу и общаться с клиентами продуктивнее ⬇️

Как настроить чат-бота за 4 шага

Допустим, вы компания, и поняли, что чат-бот вам необходим. Вот краткая инструкция в помощь:

1. Получите токен в BotFather

BotFather – это бот в Telegram для создания ботов в Telegram. Его легко найти по этому же нику @BotFather.

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

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

В BotFather нужно получить токен – уникальное название чат-бота для интеграции через HTTP API с другими сервисами. Интеграция нужна, чтобы добавить в бот нужные функции.

Получить токен можно всего за 3 шага: нажать команду /newbot, выбрать название бота и выбрать юзернейм

Получить токен можно всего за 3 шага: нажать команду /newbot, выбрать название бота и выбрать юзернейм

Не отходя далеко, здесь же можно добавить к чат-боту описание, которое увидят пользователи до запуска (команда /setdescription), и аватарку (команда /setuserpic).

Так выглядит полный список команд для настройки чат-бота в BotFather

Так выглядит полный список команд для настройки чат-бота в BotFather

2. Перейдите с токеном в конструктор или сервис

Чтобы настроить функционал бота, понадобится сторонний ресурс. Это может быть конструктор. А если говорить про чат-бота для рассылок – сервис рассылок, в нашем случае Sendsay. 

Зарегистрируйтесь в конструкторе или сервисе и привяжите к нему чат-бота: просто укажите токен, который получили в BotFather.

В Sendsay подключение бота выглядит так

В Sendsay подключение бота выглядит так

3. Продумайте сценарий 

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

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

Сценарий создается в конструкторе или в сервисе рассылок – в общем, там, куда вы привязали своего чат-бота.

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

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

4. Запустите чат-бот

Теперь осталось протестировать готовый сценарий и рассказать о нем пользователям. Все, чат-бот готов!

7 топовых чат-ботов в помощь маркетологу: подборка от Sendsay

Чат-боты в Telegram главным образом экономят время и нервы на создание контента. Одни находят подходящие картинки, другие проверяют или даже генерируют текст, третьи делают мемы. Если вы еще не пользуетесь этими чат-ботами – горячо рекомендуем ⬇️

1. @GPT4Telegrambot. По сути это бот с несколькими ботами внутри. Он открывает доступ к продуктам компании OpenAI. Например, отсюда можно перейти в ChatGPT для создания текстов или в Dall-E, чтобы сгенерировать изображение.

2. @smartspeech_sber_bot. Удобный бот для расшифровки голосовых сообщений. Здесь два варианта: отправить голосовое в бот или добавить бот в группу – и сообщения будут расшифровываться автоматически.

3. @smmgenabot. Бот, который помогает с контентом в соцсетях, но он будет полезен и email-маркетологам. Например, @smmgenabot подберет идеи для темы письма, для прехедера и вообще для контента письма. 

4. @memingbot. Бот быстро сгенерирует мем на нужную тему. Достаточно добавить фразу, фото или фразу + фото. Готовый мем можно использовать в постах, статьях, электронных письмах.

5. @orforobot. Это сайт Главред в миниатюре: проверяет текст на ошибки и показывает, насколько он читабелен.

6. @PresentationRobot. Выручит, если нужно срочно сделать презентацию или накидать тезисы к речи, а идей нет. Например, @PresentationRobot покажет примеры презентаций и поделится упражнениями, чтобы прокачать навыки выступлений.

7. @screenchat_bot. Используйте бота, когда нужно сгенерировать и заскринить переписку. Например, в формате переписки можно сымитировать диалог со службой поддержки или сделать объяснялку на сложную тему. 

Итак, мы узнали, что такое чат-бот, и поняли, как его сделать. Сохранили топовую подборку чат-ботов от редакции Sendsay. Теперь пришло время узнать, как запустить рассылку в Telegram по базе подписчиков ⬇️

Как запустить рассылку через чат-бота в Telegram

Как и обещали в начале статьи, расскажем подробнее про одну из задач чат-ботов – создание рассылок. Вообще, это чуть ли не самая значимая и часто используемая  функция чат-ботов, потому что:

  • Это удобно. Не нужно собирать базу контактов с нуля. Если вы уже пользуетесь сервисом рассылок, например, Sendsay, просто объедините в карточке подписчика его email с Telegram-контактом. Один из способов сделать это – мотивировать пользователя перейти по ссылке из письма в чат-бот. Подробнее рассказали в базе знаний.
  • Это эффективно. По статистике, сообщения в Telegram просматривают чаще, чем в электронной почте. Средняя открываемость в мессенджерах доходит до 95 %, а в почте – до 20 %. 
  • Это технически просто. Сам по себе Telegram не предполагает супер дизайна или захватывающей анимации – пока это все же мессенджер с упором на текст. И получается, что настроить рассылку в Telegram намного проще, хотя бы потому, что не нужно тратить время на верстку и дизайн.
  • Это привычно. Как и в email-рассылках, в Telegram можно сегментировать базу подписчиков, персонализировать рассылки, создавать цепочки писем, задавать время отправки. По характеру рассылки могут быть такими же, как в email-маркетинге: информационные, продающие, реактивационные. 

Итак, рассылка в Telegram – это сообщения, которые отправляются через чат-бота. Сначала чат-бота нужно подключить к сервису рассылок, после этого рассылку можно запускать по базе. Расскажем, как сделать это через Sendsay ⬇️

1. Создайте бота в Telegram

Зайдите в уже знакомый нам @BotFather, нажмите /start и следуйте инструкции. В результате @BotFather отправит вам токен. Скопируйте его – он пригодится для интеграции с Sendsay.

2. Подключите бота к Sendsay

С полученным токеном перейдите в личный кабинет Sendsay → раздел Подписчики → Telegram → Подключить бота. 

Вставьте токен – и чат-бот подключен.

3. Привлеките аудиторию в чат-бот 

Привлечь подписчиков в чат-бот можно разными способами:

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

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

4. Продумайте содержимое рассылки

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

Затем перейдите в Рассылки → Черновики, нажмите на плюсик и выберите «Telegram».

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

Сообщение для рассылки вы можете прописать в редакторе или можете скопировать готовое письмо из почты и адаптировать под мессенджер.

5. Сделайте тестовую рассылку (необязательно)

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

Также можно отправить тестовые копии некоторым подписчикам чат-бота. Для этого укажите ID подписчика (а не ник), который будет в списке подписчиков Telegram-бота.

6. Подключите аналитику (необязательно)

Чтобы отслеживать активность подписчиков, добавьте UTM-метки – специальные «хвосты» в ссылке, которые показывают источник трафика. Клики по ссылкам отобразятся в Google Analytics и Яндекс.Метрике.

6. Отправьте рассылку по всей базе

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

Подробную инструкцию про то, как сделать рассылку в Telegram через Sendsay, можно прочитать здесь. А вот тут можете узнать, как подключить бота к Sendsay. 

На этом про чат-боты все. Если вдохновились на запуск своего, желаем успеха! А если захотели сделать рассылку в Telegram – обращайтесь, мы поможем 😉

А мы напоминаем про наш телеграм-канал: делимся полезной информацией в сфере digital-маркетинга, а при подписке дарим книгу «Email-маркетинг для бизнеса». Подробнее о том, как ее получить, рассказали в закрепленном сообщении канала.  

Подпишитесь
на новости блога

Статьи, кейсы и чек-листы по digital-маркетингу от ведущих экспертов рынка

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

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

Боты для рассылок в Телеграме: как их создавать и использовать

Боты для рассылок в Телеграме: как их создавать и использовать

Присоединяйтесь к нам в соцсетях

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

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

Что такое чат боты в Telegram

Чат-бот в Telegram – это отдельный аккаунт, который самостоятельно отвечает на сообщения пользователей.

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

Telegram

Бизнесу, который продвигается в Telegram (даже если делает SMM в другой соцсети), он дает возможность оптимизировать коммуникацию с клиентами: чат-бот всегда онлайн и отвечает собеседнику в любое время суток, реагирует и дает фидбек мгновенно. Это программа, которой можно доверить рутинные задачи. Например, приём заявок от клиентов, подбор товара по запросу, сбор обратной связи и ответы на стандартные вопросы.

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

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

Бота можно написать для любого мессенджера, но в Telegram функций больше всего. Например, там можно создать мини-сайт или канал на основе вашего бота, поэтому он способен заменить даже странички в соцсетях. Допустим, у вас салон красоты — через бота можно делиться советами по уходу за окрашенными волосами. Продвижение ботов такое же, как и у обычных каналов: таргетированная реклама, SMM, реклама подписчикам ботов/каналов.


Аспекты чат-ботов в Телеграм

Аспекты

Для лучшего понимания чат-ботов следует указать несколько аспектов:

  1. Робот представляет собой интерфейс, подключенный к вашему сервису на удаленном сервере.
  2. Для создания нового аккаунта не требуется номер телефона.
  3. Управление роботом осуществляется посредством HTTPS-запросов к специальному API для ботов от Телеграмм.
  4. Каждый бот получает индивидуальный токен вида 123456:QWE-RTY1234UiopA-zyx57W2v1u321ew22. Он нужен для того, чтобы получать запросы с помощью Bot API.
  5. Все запросы осуществляются только через HTTPS и могут быть двух видов: GET и POST.
  6. У получившегося бота не появится статус «онлайн», только подпись «бот». Он не сможет сам начать общение с пользователем, только отвечать.
  7. Телеграм выделяет для роботов ограниченное пространство на своих серверах, поэтому вся переписка с людьми стирается через некоторое время после запроса. Поэтому, если вы хотите сделать бота, укажите это в инструкции к нему.
  8. Владелец может разрешить использовать его бота в чатах и каналах. Такая разновидность носит название «инлайн-бот». Активируется режим командой /setinline в BotFather.

Также стоит заметить ряд преимуществ. Например:

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

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

Важно, чтобы название чат-бота запоминалось и пользователи могли быстро найти его снова.

Зачем нужны

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

Зачем нужны Telegram-боты

Зачем нужны Telegram-боты
  1. презентовать себя и продукт
  2. разработка и отправка массовой рассылки с новостями подписчикам
  3. регистрировать на мероприятия, делать запись на консультацию, бронировать места
  4. выбор еды в меню для доставки, бронь столиков
  5. давать ответы на часто задаваемые вопросы
  6. дополнить курсы с нуля
  7. первичная обработка сообщений в службу поддержки
  8. сделать сервис покупки, доставки товаров, торговый пункт под ключ
  9. подписать пользователей на обновления
  10. выбор врача и запись для клиники
  11. сбор обратной связи, отзывов по продуктам и услугам, проводить опросы и т.д.
  12. развлекать подписчиков
  13. делать автопостинг, отложенные посты и подобные пункты
  14. проводить обучающие текстовые и видео курсы в Телеграм
  15. помощь в тайм-менеджменте (чат-бот может добавить событие в календарь, создать оповещения о событиях, добавить очень быстро текущее положение вещей)

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


Что может заменить бот

Заменяет

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

  • Настроить для коммуникации с клиентами. Бот будет отвечать на сообщения, подбирать продукты, собирать контакты и заявки, давать инструкции, распределять между менеджерами, делать пересылки.
  • Интегрировать с любыми сервисами. Например, его можно научить управлять умным домом в приложении, подбирать картинки и контент, видео или gif-анимации в Яндексе под ключевые слова или отвечать на комментарии пользователей в вашем канале.
  • Использовать как утилиту. Например, бот может отображать юзерам погоду по запросу в конкретном городе, делать автоматический перевод текста, проводить опросы или сообщать о каком-то событии, например, появлении нового товара.
  • Использовать как интерактив. Бот может играть в шахматы, проводить викторины, тестировать знания пользователей, присылать анекдоты или подбирать вид кофе по вашему знаку зодиака (смотреть на разные критерии)
  • Применять для социальной коммуникации. Например, учитывать интересы и предпочтения людей при поиске собеседника, подбирать музыкальные проигрыватели для меломанов, анализировать покупки по маркетплейсам и находить товар.

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

Какие бывают телеграм-боты

Ботов можно разделить на несколько категорий. Разберемся подробнее:

Какие бывают телеграм-боты

Виды
  1. Классические чат-боты. Программы, которые ведут диалог с пользователем. Виртуальный собеседник обычно реагирует на заранее прописанные фразы, темы и команды, кнопку. Так можно, к примеру, оптимизировать штат людей-операторов. Другие пытаются имитировать человеческую беседу, но пользы от них не так много, нужна доработка.
  2. Помощники в администрировании. Пригодятся владельцам каналов и групповых чатов. Умеют собирать статистику, добавлять к постам реакции, файлы и URL кнопку добавить, создавать отложенные публикации, как ControllerBot. Или отслеживать активность в чате (например, нажатие на кнопку приветствия), выдавать команды, предупреждения и настраивать антиспам-фильтры — это умеет Combot.
  3. Магазины. Компании переносят свои каталоги в мессенджер — для тех, кому проще выбрать товар и оплатить его прямо в «Телеграме» по команде. Например, через Baggins можно купить чашку кофе, а через G Shop — женскую одежду. Главный минус таких магазинов — запутанный интерфейс: сложно просмотреть все товары и собрать корзину.
  4. Инструменты. Разнообразные боты, которые добавляют мессенджеру новые функции, команды. Они дают читать электронные письма, как Gmail Bot, отслеживать цены на билеты нажав кнопку, как Aviasales Bot, или проверить свой заказ в боте СДЭКа. Еще они напоминают о штрафах, скачивают файлы по URL и распознают музыку по аудиосообщению.
  5. Поисковики. В них можно бесплатно найти книги, музыку, фильмы и прочие файлы. Зачастую эти боты пиратские — и «Телеграм» их периодически блокирует, поэтому команде создать другой тип.
  6. Развлечения. Все, что поможет скрасить досуг: мемы, частушки, игры и не только. Так, бот KinomanBot по команде подбирает кино на вечер. Он ищет фильмы и сериалы и даёт ссылки, по которым их можно посмотреть. Кроме того, он следит за киноафишами и ищет кинотеатры, близкие к локации. Многие из таких ботов созданы для заработка на рекламе — но не все. Так, «Сбер» запустил бота, который генерирует по команде картинки на основе запросов пользователя. Бот работает на основе нейросети для генерации изображений ruDALL-E. Для пользователей такой бот — развлечение без рекламы, но для корпорации это реклама и продвижение их бренда, PR, и тестирование ИИ-системы.
  7. Боты обратной связи. Можно принимать заявки от пользователей, которые попадают в одно место — в чат вашего бота, а не засоряют личные сообщения.Такого бота также можно использовать в качестве чата поддержки клиентов, для проведения текстовых вебинаров — для сбора и генерирования обратной связи. Все что нужно — нажать одну из предложенных кнопок в диалоге.
  8. Боты-инструменты. Они для сложных функций. Один из таких ботов — Yandex.Translate. Он переводит слова и предложения на английский и русский в Telegram по команде, без перехода в браузер. Нужно ввести текст и нажать кнопку. Ещё один полезный бот — URL Uploader. Можно загружать файлы в Telegram. Чтобы загрузить файл, достаточно прислать боту URL документа и нажать кнопку. Есть и боты с более широкими возможностями. Andy English Bot, например, обучает новым английским словам, предлагает потренировать устную речь и даже поиграть в мини-игры на английском. Боты-инструменты позволяют зарабатывать на рекламе и переливать трафик внутри своих проектов, плюс полезный функциональный бот увеличивает узнаваемость бренда и лояльность к нему.
  9. Боты для заработка внутри Telegram. Некоторые боты предлагают платные функции. Частый сценарий — когда полезный бот с бесплатной версией с ограниченными возможностями и платной с расширенными. Один из таких — CrosserBot, бот для администраторов Telegram-каналов. Его бесплатная версия дает анализировать аудиторию Telegram-каналов и подбирать похожие по аудитории каналы и чаты по команде. В платной версии есть дополнительные инструменты: защита от атаки ботов, увеличенная скорость выгрузки данных, удаление подписчиков, присоединившихся к каналу в заданный период. Последняя функция — способ очистить канал после массовых подписок ботов. Иногда боты работают как полноценные онлайн-сервисы. Один из них — бот «Деньги за задания». Он продаёт услуги по накрутке Telegram-каналов. Бот выступает посредником между администраторами, которые хотят дешево привлечь подписчиков на канал, и людьми, готовыми нажать кнопку «Подписаться» за деньги.

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

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


BotFather

BotFather

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

  1. Создайте свой аккаунт разработчика на платформе для создания бота. Зарегистрируйтесь с помощью электронной почты (на нее придет письмо с подтверждением) или войдите через Google.
  2. Нажмите кнопку команды «Создать нового бота» (справа внизу, будет надпись “создать”).
  3. Выберите команду, кнопку «Пустой бот». Перед вами откроется конструктор— это место, где можно разрабатывать бота и добавлять функции. Слева находится меню с разделами конструктора. Справа — вкладка с компонентами и экранами. По центру — рабочая зона для разработки. В левом нижнем углу — кнопка виджет обратной связи. Если возникнут трудности, пишите в поддержку, для этого нужно нажать на соответствующее меню. Логика бота создается с помощью экранов— это сообщения бота (шаги, этапы), внутри которых могут быть различные функции. Автоматически создается «Стартовый экран» — первое сообщение от бота. На каждый экран можно добавлять компоненты— это функции и действия бота (например, отправление текста, картинок, кнопок и т.д.). Все компоненты расположены на вкладке справа.
  4. Создайте приветствие: на вкладке «Компоненты» нажимаем на компонент «Сообщение», перетяните его на экран. Далее вводим любой текст и кликните зеленую кнопку «Сохранить» (справа внизу).
  5. Подключите бота к мессенджеру. В Telegram чат-боты создаются с помощью специального бота @BotFather. Через него можно управлять данными бота, добавить описание, добавить аватар и т.д.

Вот руководство по работе на BotFather:

  • Откройте Telegram и найдите команду BotFather в поиске.
  • Начните диалог с BotFather, нажмите кнопку «Start».
  • Используйте команду «/newbot», чтобы создать нового бота, добавить еще одного. Следуйте инструкциям, чтобы задать и придумать имя и аватарку пользователя для вашего бота. BotFather выдаст вам токен для вашего бота, который нужен для подключения к API практически сразу.
  • Настройте параметры вашего бота, используя команды BotFather, такие как «/setdescription» для описания бота, «/setabouttext» для информации о разработчике.
  • Используйте команду «/setcommands», чтобы задать список команд для вашего бота. Это позволит пользователям узнавать, какие команды могут использоваться для взаимодействия с вашим ботом.
  • Напишите код на любом языке программирования, используя Telegram Bot API, чтобы настроить работу вашего бота и добавить все необходимое (меню, кнопки и тд). Некоторые из популярных библиотек для работы — это python-telegram-bot для Python, Telegraf для Node.js, и BotMan для PHP.
  • Загрузите свой код на хостинг, чтобы ваш бот мог отображаться и работать круглосуточно. Некоторые из популярных платформ для размещения кода — это Heroku, AWS и DigitalOcean.
  • Настройте веб-хук для вашего бота, чтобы Telegram мог отправлять входящие сообщения на ваш сервер.
  • Запустите свой бот и начните тестирование. Перейдите к редактированию, если нужно добавить что-то в меню, сделать замену текста или названия, внести поправки.Нажмите кнопку «Сохранить».

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

Самые важные команды для чат-бота

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


BotFather команды

Команды

Основные команды символов для управления:

  • /start – первый шаг, приветственное сообщение, которое отправляется пользователю при первом взаимодействии с ботом;
  • /help – служебное сообщение data, содержащее советы по использованию бота (список команд, краткое описание бота или алгоритм действий от первого до последнего);
  • /settings – сообщение с настройками + возможности их изменения.
  • /newbot – создать нового бота
  • /mybots – редактировать своих ботов, edit bot [бета]. Если ботов несколько, нажимаем Edit Bot.

Редактирование ботов:

  • /setname – изменить имя или название бота
  • /setdescription – изменить описание бота
  • /setabouttext – изменить информацию о боте
  • /setuserpic – изменить фото профиля бота
  • /setcommands – изменить список команд
  • /deletebot – удалить бота

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

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

Управление играми

  • /mygames – редактировать свои игры
  • /newgame – создать новую игру
  • /listgames – получить список ваших игр
  • /editgame – редактировать игру
  • /deletegame – удалить существующую игру

Дополнительных возможностей у бота в Telegram достаточно (например, если выбираем Location Data, бот видит локацию пользователя). Разбирать их все детально нет смысла, так как активно используется лишь небольшая часть. Чтобы проверить работу бота, следует найти его через поиск (перед этим сохраните все изменения) и протестировать, нажав нужные кнопки.

Как создавать ботов с помощью Python

Python — это отличный язык программирования для создания чат-ботов за счет множества библиотек и фреймворков для работы с API, текстом и машинного обучения. Его следует выбрать, если у вас есть опыт работы с программированием. Для написания Telegram-бота на Python, нужно установить сам язык. Если вы пользуетесь Windows, скачать Python можно с официального сайта. Версия важна. Подойдет Python не ниже версии 3.7. Вот пошаговая инструкция на Python:

Шаги создания бота на Python

Создание
  1. Первый шаг — подключение. Установите библиотеку python-telegram-bot, которая предоставляет API для работы с Telegram.
  2. Создайте нового бота в Telegram и получите его токен. Этот токен необходим для подключения вашего бота к Telegram Bot API.
  3. Напишите код на Python, который будет брать в работу входящие сообщения от пользователей и отвечать. Вы можете использовать библиотеку python-telegram-bot. Можно добавить любое меню, название, текста, сделать инструкции и т.д совершенно бесплатно.
  4. Загрузите свой код на хостинг, такой как Heroku или AWS, чтобы ваш бот мог работать круглосуточно.
  5. Настройте веб-хук, чтобы Telegram мог отправлять входящие сообщения на ваш сервер.
  6. Запустите свой бот и начните тестирование.
  7. Добавьте необходимый функционал, такой как работа с базой данных и другие возможности. Сохраните.

Если необходимо изменить текст, имя (название) бота, сделать дополнительно инструкции, описание или меню — следует выбрать редактирование.

Начать создание можно с изучения документации библиотеки python-telegram-bot и примеров кода

Пример создания простого бота: Hello, bot!

Теперь мы решили показать на примере создание бота.

  1. Для начала следует импортировать библиотеки и создать экземпляры Телеграм бота и диспетчера, взять токен бота и имя (название) бота. Для этого нажать:
    from aiogram import Bot, types
    from aiogram.dispatcher import Dispatcher
    from aiogram.utils import executor
    TOKEN = "ваш токен от бота здесь"
    bot = Bot(token=TOKEN)
    dp = Dispatcher(bot)
    
  2. Скопируйте библиотеки, далее следует написать обработчик текстовых сообщений, который будет реагировать на входящие команды. Нужно нажать /start и /help:
    @dp.message_handler(commands=['start', 'help'])
    async def send_welcome(msg: types.Message):
    await msg.reply_to_message(f‘Я бот. Приятно познакомиться,
    {msg.from_user.first_name}’)
    
  3. Затем добавляем еще один обработчик для получения текстовых сообщений. Если бот получит текст приветственное сообщение «Привет», он также здоровается. Все остальные сообщения при отправке будут определены, как нераспознанные. Это будет отображаться так:
    @dp.message_handler(content_types=['text'])
    async def get_text_messages(msg: types.Message):
    if msg.text.lower() == 'привет':
    await msg.answer('Привет!')
    else:
    await msg.answer('Не понимаю, что это значит.')
  4. Запускаем Telegram бота, написанного на Python следующим образом, введите:
    if __name__ == '__main__':
     executor.start_polling(dp)
    

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

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

Популярные платформы для телеграм-ботов

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


платформы для телеграмм-ботов

Сервисы

Большинство из них доступны бесплатно. Рассмотрим самые популярные:

  • Manybot. Можно добавлять различные функции в бота, такие как автоответчик, рассылка, опросы и другое. Manybot также предоставляет аналитические данные о действиях пользователей, функционал создавать меню для бота и интегрироваться. Сервис доступен как бесплатная и платная версии с расширенными функциями. Простая регистрация и выгодные пользовательские условия.
  • Botobot — это пример платформы, чтобы создать онлайн-магазины на основе Телеграм-бота. Вы можете загружать свои товары в формате Excel, и пользователи могут просматривать их в виде каталога, меню в Телеграме (добавления разделов также осуществляется там). Бот также может принимать платежи, отправлять клиентские рассылки, интегрироваться с CRM и делать множество полезных функций (стать онлайн-помощником), которые могут упростить управление онлайн-магазином через Телеграм.
  • Bottap — для диалоговых чат-ботов с набором стандартных функций и готовыми шаблонами для нескольких видов бизнеса, таких как кафе, интернет-магазины, доставка пиццы, маникюрные салоны, фитнес-тренеры, а также с возможностью создания своих собственных кастомных диалогов. У сервиса простой интерфейс с меню.
  • Chatforma — для чат-ботов. Им можно создавать и настраивать ботов для различных мессенджеров, включая Telegram и Viber. С помощью Chatforma можно настроить автоответчик, создать форму для сбора контактов, настроить интеграцию и другое. Хотя Chatforma может показаться сложным для понимания, благодаря обучающим материалам и достаточному количеству времени вы сможете использовать все необходимые функции.
  • Botmaker — для чат-ботов для различных мессенджеров, включая Telegram, Facebook Messenger и WhatsApp. Botmaker предоставляет большое количество готовых функций и интеграций (например, к маркетплейсам), таких как автоответчик, рассылка сообщений, опросы, меню, оповещения, и другое. Также простой интерфейс, можно создавать ботов без необходимости знания программирования.
  • Info bot — это сервис, у которого простой внешний вид и функционал. Есть визуальный конструктор, в котором можно построить логическую цепочку диалога в виде блок-схемы. Однако, для того чтобы разобраться в нем, необходимо приложить некоторые усилия. Не существует подсказок и заголовков, и все необходимо понимать самостоятельно.
  • Puzzlebot — это отличный сервис, чтобы организовать ботов любой сложности, который предоставляет мощный функционал. Создание бота с помощью Puzzlebot — это нетрудно, нужно всего лишь перемещать блоки и устанавливать связи между ними. В конструкторе есть как стандартные функции, так и множество оригинальных возможностей, несложно создавать уникальных ботов для различных задач.
  • Flow XO — англоязычный сервис со стандартным набором функций для бизнеса и широкими возможностями для разработчиков. Есть много шаблонов диалогов для разных видов бизнеса, включая бронирование номера или столика, заказ услуги, еды или билетов, ответы на часто задаваемые вопросы, поиск на основании местоположения пользователя и т.д. Визуально интересный, но сложный и не всегда поддается логике.
  • Botmother — сильный кроссплатформенный CMS для чат-ботов. Есть приложения для создания, редактирования и развертывания чат-ботов не только в Telegram, но и в Viber, WhatsApp, Facebook, ВКонтакте и Одноклассниках. Бота можно собрать из готовых блоков-модулей для разных типов сообщений, тут же наполнить их текстом и загрузить в мессенджер. При сборке можно использовать базовые и продвинутые компоненты, такие как логирование, группа кнопок с подсказками или нативный запрос.
  • UniSender — это сервис для email-маркетинга и рекламы, который дает создавать и отправлять электронные письма, SMS-сообщения, push-уведомления и прочие виды сообщений. UniSender предоставляет широкий набор инструментов для настройки и автоматизации рассылок, включая сегментацию аудитории, A/B-тестирование, и другое. С помощью UniSender можно отслеживать статистику рассылок, такую как количество отправленных и доставленных сообщений, открытия и клики на ссылки, отписки и другие метрики, что позволяет оценить эффективность кампании и улучшить ее результативность.
  • Bot Kits — это набор инструментов для создания чат-ботов в Telegram без необходимости знания программирования. Результат работы — боты графическим интерфейсом и предоставляет большое количество готовых шаблонов для разных типов бизнеса. Вы можете настроить своего бота для автоматической рассылки, приема заказов, сбора обратной связи и другое. Bot Kits также интегрируется с сервисами и платформами, такими как Google Sheets, Zapier и Integromat. Более того, сервис доступен бесплатно.
  • Aimylogic — это платформа для создания и развертывания голосовых ассистентов и чат-ботов с использованием искусственного интеллекта. Этот сервис позволяет создавать голосовых ассистентов для различных задач, таких как заказ еды, бронирование билетов и многое другое. Вы можете интегрировать своего голосового ассистента с различными платформами, такими как Amazon Alexa, Google Home, Facebook. Aimylogic также обеспечивает аналитику и мониторинг работы голосового ассистента для улучшения эффективности и оптимизации работы бота.

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

Часто задаваемые вопросы

Чтобы поделиться своим ботом внутри самого Telegram, достаточно отправить конкретному пользователю или в определенный чат @юзернейм бота, это выглядит, как пример, @botname.

Если необходимо дать ссылку на каком-либо внешнем ресурсе, она будет в следующем виде: t.me/юзернейм бота.

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

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

  • Компании с необходимостью создать сервис для клиентов. Если вам нужно сделать небольшой каталог с продукцией hand-made или меню доставки еды, достаточно воспользоваться конструктором. Здесь будет довольно несложно продумать навигацию с кнопками и запустить все необходимые функции: форму заказа и доставки, связь с консультантом и пр. Им могут воспользоваться даже большие компании, если они хотят получить способ связи со своими клиентами. К работе с людьми будут оперативно подключаться сотрудники и отвечать на все вопросы. Организуйте несколько ответов кнопок.
  • Крупный бизнес и производственные группы с необходимостью создать удобный корпоративный или развлекательный инструмент. Если нужен бот, который будет глубоко интегрирован с системой электронного документооборота, или программа с привязкой к искусственному интеллекту, потребуется помощь профессионала. Например, бот ruDALL-E Malevich от Сбера, который создает изображения по текстовому описанию в пару кнопок, написали опытные программисты.

Есть два способа создать бота в «Телеграме»: с помощью кода и ноукод-платформ. В первом случае вы пишете бота самостоятельно, во втором — пользуетесь конструкторами и собираете бота из уже готовых элементов, кликнув пару кнопок. Бота можно написать на любом языке программирования — от PHP и Node.js до Java и Go. Для создания ботов в конструкторе достаточно базовых знаний веб-приложений. Если вы владеете Figma, Miro, Asana или перетаскивали карточки в Trello, то сможете составить бота из наглядной цепочки блоков в конструкторе.

Заключение

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

Олег Вершинин

Специалист по продукту

Все статьи автора

Нашли ошибку в тексте? Выделите нужный фрагмент и нажмите
ctrl
+
enter

Понравилась статья? Поделить с друзьями:
  • Стиральная машина beko 7кг 1000об инструкция по применению
  • Мукалтин таблетки от кашля инструкция взрослым при каком кашле
  • Керхер к2 105 инструкция по применению
  • Деринат спрей для горла инструкция по применению цена
  • Тетрациклиновая мазь глазная отзывы взрослым инструкция по применению