Как добавить бота в группу Телеграм чтобы оповещал

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

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

Немного о системе

Для своего, узкого, пользования мы разработали систему омниканальной отправки сообщений. И научили её собирать сообщения в raw-, markdown- и html-форматах для отправки по разным каналам: hpsm, Ivanti, email, Mattermost и Telegram.

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

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

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

< «networks»: < «email»: < «to»: [ «username_or_email» ] >, «telegram»: < «chats»: [88005553535] >>, «features»: < «x-reply-auto»: true >, «payload»: < «SUBJECT»: «2+2», «DESCRIPTION»: «=», «DONE»: «5», «KEBAB»: «SIUUUUUUUUUU» >>

В системе мы объявляем несколько уровней:

  1. Система. В нём мы определяем токены для интеграции API, указываем пути доставки с адресами, пароли, триггеры и все необходимое.
  2. Триггеры. В них указываются базовые характеристики: имя, ключ доступа, поля, которые необходимо указать в инструкции, их характеристики и модификаторы; способы доставки, которые описывают, по какому каналу, объявленному на уровне системы, необходимо отправить сообщение, и как будет выглядеть само сообщение. Например, поле name имеет тип string, модификатор toUpperCase и так далее.

Финальный API-метод исполнения инструкции отправки выглядит так: /api/v1/trigger_name_or_uid/interact .

Тут может возникнуть вопрос: куда делся первый уровень? Всё просто. Определение системы вшито в токен интеграции API.

Маршрут до оповещения выглядит так: system→ trigger → transport → template . Где transport — канал, по которым мы будем отправлять сообщения, а template — шаблон сообщения по транспорту. На этом моменте мы оставим дальнейшую работу системы под капотом.

Шаблоны и параметры заполнения сообщения

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

Шаблон вручную заполняет оператор системы — для каждого выбранного транспортного узла в триггере. То есть описывает инструмент и параметры отправки сообщения по каналу: Telegram, email, Mattermost и прочим.

Далее мы совмещаем шаблон с параметрами. Для этого используется движок Razor. Упрощенно, код инициализации экземпляра выглядит так:

_engine = new RazorLightEngineBuilder() .UseEmbeddedResourcesProject(typeof(RazorMessageCompilationFeature)) .UseCachingProvider(new RazorMemoryCachingProvider() < Lifetime = TimeSpan.FromMinutes(30) >) .AddDefaultNamespaces(typeof(DateTime).Namespace) .Build(); _engine.Options.DisableEncoding = true;

А метод компиляции сообщения — так

public async Task Handle(TransportContext context, IMessage message, CancellationToken cancellationToken) < var properties = context.Network.Payload.ToExpando(); await Task.WhenAll(CompileSubjectAsync(context, properties, cancellationToken).ContinueWith(m =>message.Subject = HttpUtility.HtmlDecode(m.Result)), CompileMessageAsync(context, properties, cancellationToken).ContinueWith(m => message.Body = HttpUtility.HtmlDecode(m.Result))); >

Telegram

Телеграм предоставляет разработчикам несколько способов создать чат-бот и готовые библиотеки для работы с API. Нам понадобится способ Bot API. Это REST, поэтому много новой информации по взаимодействию искать не придётся.

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

Разработчики Bot API придумали интересный метод организации методов. Они разделили запрос на два части: токен доступа и название метода. Запрос на получение информации о боте в Telegram выглядит так: https://api.telegram.org/bot/getMe . Во всех адресах обращения к API будут меняться лишь названия методов:

  • /getMe;
  • /sendMessage;
  • /getFile и так далее.
Еще по теме:  Как найти удаленный пост в Телеграмм канале

Регистрация бота в Telegram

Для начала необходимо создать бота:

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

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

Учимся отправлять сообщения в чаты

Для теста подойдёт любой канал, в котором вы являетесь администратором. Для отправки сообщений нам понадобится метод sendMessage.

Объявляем структуру сообщения:

public readonly struct Message < [Required, JsonInclude, JsonPropertyName(«chat_id»)] public readonly string ChatId; [Required, Range(1, 4096), JsonInclude, JsonPropertyName(«text»)] public readonly string Text; public Message(string chatId, string text) < if (string.IsNullOrEmpty(text) || text.Length < 1 || text.Length >4096) < throw new ArgumentOutOfRangeException(nameof(text), «Размер сообщения должен удовлетворять диапазону 1 — 4096»); >ChatId = chatId; Text = text; > >

Передаём идентификатор канала и сообщение:

var client = new HttpClient(); client.BaseAddress = new Uri(“https://api.telegram.org/bot/sendMessage”); var message = new Message(88005553535, “мое первое сообщение”) var request = new HttpRequestMessage(); request.Method = HttpMethod.Post; request.Content = new StringContent(JsonSerializer.Serialize(message), Encoding.UTF8, «application/json»); _ = await client.SendAsync(request, cancellationToken);

Почти все запросы к Bot API будут с типом POST, так как это самый удачный метод для передачи большого набора данных (но можно и GET). Тело запроса на отправку сообщения в канал будет выглядеть так:

Поле parse_mode нужно, чтобы регулировать формат текста, выбрать html или markdown-разметку.

В модели Message поле parse_mode не указано для упрощения, но вы можете его добавить и поиграться с html или markdown-разметкой.

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

Слушаем чаты

Чтобы бот умел реагировать на команды, понадобится «сканирование» на обновления. Есть два метода прослушивания обновлений: регулярно ходить в Telegram или предоставлять ему адрес прослушивания на вашем сервере, то есть webhook.

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

В теле запроса мы будем отправлять следующие данные: offset , limit , allowed_updates .

offset

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

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

limit

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

allowed_updates

Это поле — массив строк, то есть список типов обновлений, которые мы хотим получить в ответ. Для полного охвата нам будет достаточно: chat_member , message и my_chat_member . Полный список можно посмотреть тут: https://core.telegram.org/bots/api#update.

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

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

Верифицируем пользователей

Нам нужно подтверждать легитимность присутствия пользователей в чате. Для этого используем:

  • таблицу сопоставления логина телеграмм с логином в AD;
  • статус верификации;
  • кодовое слово — случайно сгенерированную строку в 1024 символа.

Процесс выглядит так:

  1. Заводим заявку на подключение пользователя к Telegram.
  2. В заявке генерируются необходимые данные: запись сопоставления логинов, ключ верификации и так далее.
  3. На корпоративную почту отправляется сообщение с инструкцией, как пройти верификацию.
  4. Пользователь отправляет секретный ключ через команду /verify в чат с ботом.
  5. Мы обрабатываем все обновления с объектом message в ответе. То есть ищем поля message.chat.type, которым эквивалентно значение private.
  6. Определяем команду /verify.
  7. Подтверждаем верификацию в системе, сохраняем ID пользователя в таблицу сопоставления и отправляем ему письмо об успешной верификации.

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

Приглашаем пользователей в чаты

Сперва нам нужно запросить разблокировку пользователя, даже если он не был заблокирован ранее. Для этого воспользуемся командой unbanChatMember . Как тело запроса передаём поля: chat_id и user_id — и проверяем в поле в коде OK 200.

Еще по теме:  6058187371 шв аккаунт Телеграмм

Далее генерируем ссылку на приглашение методом createChatInviteLink. В теле передаём поля chat_id , expire_date , member_limit = 1 . Лимит нужен, чтобы ограничить количество вошедших по ней пользователей. (все равно неавторизованного пользователя мы забаним. ).

Дата «протухания» приглашения передаётся в формате unix (seconds).

Далее отправляем сообщение пользователю со ссылкой на приглашение. Например, «Вам отправлено приглашение на вступление в группу ‘’.nn Приглашение активно до

Блокировка неверифицированных пользователей

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

Для блокировки в чате используем метод banChatMember . В тело запроса передаём 2 поля: chat_id и user_id . И пишем пользователю в личку информацию о блокировке c инструкцией, как выйти и зайти правильно.

Что в итоге

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

Следите за новыми постами по любимым темам

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

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

Оперативный контроль: уведомления о звонках и заявках в Telegram

Бот в Telegram создается с помощью другого бота — BotFather. Отправляем ему команду /newbot, выбираем имя, которое будет отображаться в списке контактов, и адрес.

Например, «Uiscom-Бот» с адресом «Uiscom_first_bot»:

Если адрес не занят, BotFather ответит сообщением с токеном-«ключом» для доступа к созданному боту. Сохраните его и никому не показывайте.

Для индивидуальности бота добавим ему аватар. Кидаем команду /mybots в BotFather, выбираем нашего бота:

Далее жмем Edit Bot -> Edit Botpic и кидаем в чат изображение размером 150×150 пикселей:

Вот и все, с ботом закончили.

Увеличивайте продажи с платформой коммуникаций UIS

Шаг 2. Создание группы в Telegram

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

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

Шаг 3. Создание уведомления в UIS

Переходим в меню Уведомления -> Добавить уведомление и создаем уведомление для решения первой задачи.

Заявка целевого посетителя с сайта

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

Далее выбираем способ уведомления HTTP и настраиваем следующим образом:

Метод — GET

URL — https://api.telegram.org/botXXX/sendMessage , где ХХХ — токен, который вы получили при создании бота от BotFather

chat_id — это ссылка на вашу группу

text — наполнение сообщения от бота, которое вы можете делать абсолютно любым в зависимости от потребностей (для информативности добавим иконку ✉️)

parse_mode — форматирование сообщения

Сохраняем и отправляем тестовую заявку с вашего сайта для проверки. И вот она, наша заявка в Telegram-группе:

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

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

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

75.jpg

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

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

Зачем нужны боты в Telegram

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

Одна из удобных особенностей приложения – боты, служащие для выполнения широкого спектра задач:

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

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

Создание интернет магазина в Telegram и Viber под ключ. Настроим бота и загрузим до 15 карточек товаров. Оставьте заявку!

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

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

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

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

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

image002.jpg

image004.jpg

Щелкаем по надписи «Добавить нового бота»:

image005.jpg

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

image006.jpg

Активируем его и выбираем вот эту команду:

image007.jpg

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

image008.jpg

Совет: Чтобы не придумывать лишнего, можно дописать окончание к первому имени.

Осталось лишь скопировать API:

image009.jpg

И передать его Manybot:

image010.jpg

Коротко описываем функции бота или просто отменяем этот пункт.

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

image011.jpg

Для тех, кто не умеет подключать помощника, приведу краткую инструкцию:

  • активируем вновь созданного бота;
  • раскрываем троеточие в верхнем правом углу;

image012.jpg

  • копируем «Имя пользователя»;

image013.jpg

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

image014.jpg

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

Добавляем команды в Телеграм бота

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

Чтобы прописать новую команду, требуется:

  • набрать сообщение «/commands» и выбрать «создать команду»

image015.jpg

  • придумать название и ввести его латиницей (русский шрифт система не понимает), затем отослать его и выбрать требуемый ответ: изображение или файл, после отправки нажимаем «Сохранить».

image016.jpg

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

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

image017.jpg

Создаем меню для бота

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

  • перейти в «Пользовательские команды» и кликнуть пункт «Настроить гл. меню»;

image018.jpg

  • следующий шаг – кнопка «Добавить»;

image019.jpg

  • выбрать из сохраненного списка команду, и дать ей название;

image020.jpg

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

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

image021.jpg

Возможности Телеграм бота

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

Автопостинг

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

  • ввести системную команду «/autoposting», с обязательным указанием источника постов;

image022.jpg

  • опубликовать ссылку;

image023.jpg

Теперь новые публикации, появившиеся в социальных сетях, или сообщения RSS-ленты будут автоматом дублироваться на канале или в чате.

image024.jpg

Отложенные посты

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

image025.jpg

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

image026.jpg

Выбираем дату и время, сохраняем данные:

image027.jpg

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

Опросы

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

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

image028.jpg

После нажатия «Добавить вопрос», укажите его тип (для примера возьмем «обычный»):

image029.jpg

Введите свой вопрос и отправьте его:

image030.jpg

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

image031.jpg

Заключение

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

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

Готовый онлайн магазин в Telegram и Viber: настройка и подключение магазина, добавление товаров, запуск рекламной компании в социальных сетях на ваш магазин. Оставьте заявку!

Источник: www.kkm.ru

Рейтинг
( Пока оценок нет )
Загрузка ...