Курс по созданию Телеграм ботов на java

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

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

Зачем для рассылки в Телеграме нужен бот

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

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

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

Телеграм бот на Java. Создаем проект, интегрируемся с телегой. Урок 1.


Отправлять сообщения подписчикам бота – легальный способ рассылки в Телеграме

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

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

Возможности ботов для рассылки

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

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

Как правильно использовать эмодзи в рассылках

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

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

  1. Перейти в BotFather и нажать кнопку Start внизу экрана.
  2. В появившемся списке нажать команду /newbot.
  3. Придумать имя бота, которое пользователи будут видеть в списке контактов – нужно выбрать узнаваемое имя, например, Бот Sendsay.
  4. Придумать имя пользователя – уникальное имя бота на английском, которое будет указано в ссылке. В нем обязательно должно быть слово bot, например, SendsayBot. Юзернейм может быть занят, тогда надо будет придумать что-то другое.
  5. Получить токен – это уникальный код бота, который понадобится для интеграции с сервисами рассылок.

Готово! Вы создали собственный телеграм-бот.

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

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

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

Как настроить бот для рассылки сообщений в Телеграме

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

Настройка через сервисы рассылки

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

  • электронную почту
  • личные сообщения ВКонтакте
  • боты в Телеграме
  • SMS
  • Web Push
  • мобильные push-уведомления

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

Омниканальность как мастхэв для бизнеса

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

Интерфейс создания сообщения для рассылки через бот в Телеграме

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

Еще по теме:  Как редактировать язык в Телеграмме

Для подключения бота к Sendsay нужно просто добавить уникальный токен 

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

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

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

Настройка через сервисы-конструкторы

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

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

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

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

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

Как анализировать статистику по email-рассылкам: основные нюансы

Как анализировать статистику по email-рассылкам: основные нюансы

Минус – стоимость. В среднем такие сервисы стоят от 900 до 3000 ₽ в месяц. Если у вас есть сервис рассылок и вам нужен бот для простых цепочек, то в таком конструкторе нет необходимости.

Итак, резюмируем о рассылках через телеграм-боты.

  • Боты в Телеграме – многофункциональные помощники, которые могут выполнять запрограммированные действия.
  • Легально делать массовые рассылки можно только подписчикам бота. Использовать бот для рассылки в Телеграм конкретным пользователям нельзя, если пользователь не давал согласия. В противном случае такая рассылка будет считаться спамом.
  • Отправлять сообщения можно с помощью сервисов рассылки или специальных конструкторов.
  • Для рассылки нужно создать собственный бот и подключить его к сервису с помощью токена.
  • Сервисы рассылок удобны тем, что всех подписчиков можно хранить в одном месте, быстро создавать сообщения и изучать статистику по рассылкам.
  • Конструкторы – сервисы с более широким функционалом, который позволяет создавать сложные механики взаимодействия с ботом, делать воронки продаж и запускать игры для вовлечения. Минус – стоимость.
  • Бесплатную рассылку в телеграм-бот можно делать только на пробных тарифах некоторых сервисов. Для полноценной работы с мессенджер-маркетингом нужно оплачивать доступ или программировать бот самостоятельно.

Что такое спам-рассылка, как ее отличить от честного email-маркетинга и как заблокировать

Кроме того, мы делимся полезной информацией в сфере digital-маркетинга в нашем телеграм-канале, при подписке на который дарим книгу «Email-маркетинг для бизнеса». Подробнее о том, как ее получить, рассказали в закрепленном сообщении канала.

Подключайте Sendsay, чтобы сделать ваш email-маркетинг мощнее

Источник: sendsay.ru

Creating a telegram bot (Spring Boot, Kafka, PostgreSQL), part one

Even a person of average ability, stubbornly studying one subject, will certainly achieve deep knowledge in it. -

Hello everyone, this article is a kind of my first, but still I will try to tell you as simply as possible about how to create a bot by screwing all the whistles promised above.

The articles will be divided into 2 parts, the first part is the creation of the main bot with sending logs (Kafka Producer) and writing them to the database, the second part is the processing of all logs (Kafka Consumer).

Ingredients:

  1. Bot registration
  2. Creating a Spring Boot project, the easiest way to do this is through the built-in configurator in IntelliJ IDEAor using Spring Initializr. (as the build system will be used gradle)
  3. Kafka (to keep track of topics I use conductor)
  4. PostgreSQL (for comfortable work I use DBeaver)

Please write in the comments if you have any problems, just in case – here’s mine git

Let’s start with cutting:

First you need to set up build.grable with all dependencies

build grable
buildscript < repositories < mavenCentral() >> plugins < id ‘org.springframework.boot’ version ‘2.4.2’ id ‘io.spring.dependency-management’ version ‘1.0.11.RELEASE’ id ‘java’ >apply from: ‘build-test.gradle’ group ‘com.sercetary.bot’ sourceCompatibility = ’14’ configurations < compileOnly < extendsFrom annotationProcessor >> repositories < mavenCentral() >configurations.all < exclude module: ‘slf4j-log4j12’ >dependencies

Next, for Kafka to work, we will describe application.yml, which contains the settings of our kafka producer

server: port: 9000 spring: kafka: producer: bootstrap-servers: localhost:9092 key-serializer: org.apache.kafka.common.serialization.StringSerializer value-serializer: org.apache.kafka.common.serialization.StringSerializer

Now application.properties settings

# HTTP port for incoming requests server.port=8081 app.http.bot=change-me telegram-bot.name=change-me telegram-bot.token=change-me # Bot db app.db.bot-db.url=jdbc:postgresql://localhost:5432/change-me app.db.bot-db.driver=org.postgresql.Driver app.db.bot-db.user=change-me app.db.bot-db.password=change-me app.db.bot-db.pool-size=10 # logging logging.level.root=INFO logging.level.org.springframework.web=DEBUG logging.level.ru.centerinform.webhook=TRACE logging.file.name=change-me

Okay, after setting up our project, let’s talk about its structure:

Еще по теме:  Как убрать двухфакторную аутентификацию в Телеграмме

Project structure

  • config – description of beans and project configuration
  • controller – handles the user’s request
  • dto – stores data, and also describes the database table model
  • exceptions – custom error handler package
  • repository – logic for working with the database
  • service – the main business logic of the project

Now we collect the ingredients and marinate:

Bin settings:

– First of all, we write the configuration of the beans of our application in the config package, here are the TelegramBotsApi and ObjectMapper initialization settings

– Inside our DbConfig class, there is a SpringDataJdbcProperties class that describes the SpringDataJdbc settings

– Create a base class to reduce duplication of bean initialization code

– After we write a utility class for logging

Next, we will write a controller to access the service from outside

– Create a simple controller to get a list of records from the database

Then we move on to creating the model.

– We create a user model User, as well as its UserMapper, which is needed to work with the database and map fields in the table

UserMapper

Let’s move on to creating custom exceptions

What are they needed for

We use them to handle errors that may occur during the operation of the application so that the bot does not break down and continues its work.

– BaseException – a class that inherits from RuntimeException, in the constructor takes 2 parameters – the message and the body of the error

– NotFoundException – the class that is called when the answer is not found, inherited from BaseException

– DbException – a class that handles errors related to the database, inherited from RuntimeException

Now to work with the database, create a repository

– Let’s create an interface that describes methods for working with records in the database

– Now let’s write a class that implements interface methods

– Next, we have the logic of the bot, everything is trivial here, in the inherited onUpdateReceived method from the parent class TelegramLongPollingBot we write the behavior that happens when the chat with the user is updated, more about this herealso in the message processing method there is a call to our producer and writing data to the database

Code snippet with sending to Kafka and writing to the database
if (requestMessage.getText().startsWith(«/»)) < entity.setStartWord(«команда: «); producerService.sendMessage( entity); >else

Let’s move on to creating the business logic of the application

– BaseService – implements the basic methods of project services

– The UserService class works with our IUserRepository repository and contains the business logic for working with event records in the database

– The Producer class, just the class that sends messages to the users topic, and here we can change the format of the message itself and the data that it sends

At the end of the class, which actually launches our entire application

webhookapp

Now we have marinated all the ingredients and prepared the dish for baking:

– First check if Kafka is running

start by command - sudo su systemctl start kafka

– After that, we launch Conductor and see that we have a message broker running, after launching our application, a users topic will appear here, to which messages sent by our producer will fly

Launched Broker

– Next, run DBeaver and create 2 tables (log and user_table), here is the scheme for creating tables:

CREATE TABLE public.log ( id serial4 NOT NULL, message varchar(500) NOT NULL, date_time date NOT NULL, topic varchar(100) NOT NULL, CONSTRAINT log_pkey PRIMARY KEY (id) );
CREATE TABLE public.user_table ( id serial4 NOT NULL, user_name varchar(100) NOT NULL, description varchar(500) NULL, CONSTRAINT user_table_pkey PRIMARY KEY (id) );

DB schema publicThis is what the log table looks likeThis is what the user_table looks like

Great, the dish is baked and ready to serve:

– We start the project, check that everything is configured and works correctly

Spring logs

– Open telegrams and taste our “Frankenstein”

Chatting with a Telegram bot

– Let’s see what Spring wrote to us in the logs and whether the data was written to Kafka and the database?

Logs of our bot, no errors observed

– As we can see, the messages sent to the Bot appeared in the database

Records in the database

– Having opened the conductor, go to the topics tab, then click on our users topic

topics tab

– Next, in the tab of our topic, click on the CONSUME DATA button

Topic information users

– In the window that opens, set the same settings (the most important of them is Start From – indicates from what moment to show messages in Kafka, our setting – shows all messages, including those sent earlier)

Message view settings

– That’s all, now we have made sure that the messages arrived safely in Kafka, registered in the database and did not cause errors in the application

Messages arriving in Kafka

Well, thank you all so much for taking the time to read this article, I look forward to seeing you in second part See this tutorial where we use Consumer Kafka to handle incoming messages.

Источник: prog.world

Еще по теме:  Как искать фильмы в Телеграмме на Андроид

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

Комфортное обучение в летнем формате от Product Live

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

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

Содержание статьи скрыть

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

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

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

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

Основные функции чат-бота:

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

Чат-бот посылает запрограммированную информацию в зависимости от тематики канала. Это может быть график работы магазина, стоимость услуг, курс валют и так далее. В названии такого аккаунта всегда есть слово bot.

Основными преимуществами создания такого помощника является:

  • круглосуточная работа — чат-бот предоставит информацию для клиента 24/7;
  • клиент может моментально получить ответ на интересующий вопрос;
  • для работы с роботом не требуется установка дополнительных программ.

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

Ежедневные советы от диджитал-наставника Checkroi прямо в твоем телеграме!
Подписывайся на канал
Подписаться

Создание чат-бота в телеграме

Для начала необходимо зайти в свой аккаунт в телеграмме или скачать приложение через App Store или Play Маркет. Для установки приложения на компьютер необходимо скачать установочный файл с официального сайта.

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

  • Puzzlebot;
  • Manybot;
  • Botobot;
  • Bottap;
  • BotFather.

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

Создаём чат-бот через сервис BotFather

Открываем приложение телеграма и в поисковой строке набираем имя «BotFather». Это официальный системный бот приложения, который помогает с регистрацией других ботов в мессенджере. Обратите внимание, что у данного сервиса есть официальное подтверждение — синяя галочка.

Открываем приложение телергама и в поисковой строке набираем имя «BotFather»

Шаг 1. Бот запрограммирован давать ответы, поэтому он никогда не начинает диалог. Чтобы получить информацию об установке вашего помощника, необходимо дать системному боту команду. Напишите в диалоговое окно /newbot. Далее бот будет задавать вопросы или давать инструкции.

Необходимо придумать имя боту

Шаг 2. Необходимо придумать имя боту — оно будет отображаться в поисковой строке в списке контактов. Как правило, существующему названию компании или профиля в соцсети дописывают приставку bot. Если имя занято, то будут приходить системные сообщения — необходимо придумать другое. Для названия помощника можно использовать от 5 до 32 символов.

Если имя занято, то будут приходить системные сообщения — необходимо придумать другое

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

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

Чат-бот готов. Для дальнейшей работы необходимо будет скопировать токен и вставлять на рабочие платформы для перехода в чат-бот. Также токен необходимо скопировать и вставить в диалоговое окно и после того придёт системное сообщение, что бот принят и готов к дальнейшей работе.

Настраиваем чат-бот

Для более полной информации необходимо настроить описание чат-бота — вставить аватар, написать информацию о компании.

Для этого нужно в диалоговом окне нажать команду /mybots. Появится меню настроек и редактирования.

Появится меню настроек и редактирования

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

В любой момент можно редактировать описание и менять информацию

Создаём команды для чат-бота

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

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

  • /newpost — отправка сообщений подписчикам;
  • /schedule — посмотреть отложенные посты;
  • /subscrlbers — посмотреть количество подписчиков;
  • /commands — создание собственных команд и настройка бота;
  • /botlang — установка языка бота
  • /setdescription — возможность отредактировать описание бота;
  • /channels — настройка автоматической выкладки постов в Телеграм;
  • /admins — управление администраторами бота;
  • /tutorials — ответы на вопросы, связанные с созданием и настройкой бота;
Рейтинг
( Пока оценок нет )
Загрузка ...