Как создать чат-бота в Telegram
Эта статья будет полезна тем, кто хочет создать свой бот в Телеграме самостоятельно без навыков разработки, знания языков программирования и сложных команд. Для запуска понадобится только продуманный сценарий работы и настройки, с которыми справится каждый.
Зачем нужен бот в Telegram
С его помощью можно автоматизировать рутинные бизнес-процессы. Можно даже заменить телеграм-каналом полноценный сайт. Чат-бот полезен, когда нужен удобный источник справочной информации или полуавтоматическая линия поддержки пользователей.
Простые боты в Телеграме работают с помощью команд: выдают в чат несколько готовых пунктов и продолжают диалог в зависимости от выбора пользователя. Но этим возможности не ограничиваются. Например, SaluteBot умеет анализировать текст в сообщении, что позволяет вести настоящую беседу.
Создайте своего чат-бота в Telegram
Простая настройка чат-бота в личном кабинете Цифровой витрины
Попробовать
Как создать telegram-бот
Чтобы сделать чат-бот без навыков программирования, воспользуйтесь визуальным конструктором в личном кабинете Цифровой витрины. Это бесплатно и несложно: в интерфейсе представлены блоки с сообщениями и кнопками, из которых вы составляете нужный сценарий.
Но, чтобы бот заработал в Телеграме, нужно настроить интеграцию нескольких систем: личный кабинет Цифровой витрины, Telegram и Jivo.
Поэтому пошаговая инструкция выглядит так:
- Создание бота в Telegram.
- Регистрация на платформе Jivo.
- Интеграция Jivo с Telegram.
- Создание бота в личном кабинете Цифровой витрины.
- Разработка сценария бота в конструкторе.
- Тестирование и отладка бота.
Разберём каждый этап подробно.
Создание бота в Телеграме
Создать самостоятельно чат-бот в Telegram можно бесплатно за несколько шагов:
- Перейдите в диалог с инструментом для разработки чатов — https://telegram.me/BotFather.
- Нажмите кнопку «Start» или введите в диалоге команду /start.
- Далее введите команду /newbot, чтобы сделать новый бот.
- Укажите название — как будет отображаться чат в списке контактов.
- Последнее — системное имя: это то, что будет ником после знака @.
Название может быть любым: нестрашно, если оно будет дублировать уже существующие. Но системное имя обязательно должно быть уникальным. Если имя уже занято, вы увидите подсказку: «Sorry, this username is already taken. Please try something different».
После успешного создания вы получите токен. Сохраните его, он понадобится для дальнейшей интеграции. Если вы закрыли окно и нужно снова найти токен, напишите в диалоге команду /token.
Регистрация в Jivo
Чтобы разработать чат в Телеграме на платформе личного кабинета Цифровой витрины, понадобится учётная запись в сервисе Jivo. При регистрации укажите email и задайте пароль. В поле «Адрес сайта» можно ввести любые данные.
Интеграция Jivo с Telegram
Авторизуйтесь на платформе Jivo, в боковом меню откройте раздел «Управление», блок «Каналы связи».
В списке сервисов найдите Telegram и нажмите кнопку «Добавить», далее — «Подключить Telegram». В открывшемся окне введите токен, который вы получили при создании бота.
Если токен указан верно, появится всплывающее сообщение о том, что бот успешно подключён. В меню «Уведомления» настройте, куда вы хотите получать все диалоги и на какой email отправить сообщение, если нет свободных операторов.
Создание бота в личном кабинете Цифровой витрины
В предыдущих шагах мы настроили площадку для диалогов и сервис Jivo для интеграции чата и конструктора. Далее предстоит разработка сценария, то есть набора команд и логики, по которой бот будет общаться с пользователями.
Сценарий мы будем создавать в личном кабинете Цифровой витрины: пройдите бесплатную регистрацию и войдите в аккаунт.
Далее следуйте инструкции:
- Нажмите «Создать проект» на главном экране.
- Если хотите заказать разработку бота, в списке инструментов выберите «SaluteBot Под ключ» и отправьте онлайн-заявку.
- Если будете создавать бот сами, то в списке инструментов выберите «SaluteBot Конструктор». Дальше говорим именно о самостоятельном конструировании SaluteBot.
- Выберите готовый шаблон или «Новый проект».
- Придумайте название и нажмите кнопку «Создать проект».
- Введите название бота.
- Выберите язык.
- Выберите тип сценария.
- Нажмите кнопку «Добавить аккаунт Jivo» и укажите данные для авторизации в сервисе Jivo.
- Перейдите в личный кабинет Jivo, чтобы связать его с личным кабинетом Цифровой витрины.
В меню выбора типа сценария доступно несколько вариантов:
- Готовый сценарий — включает базовую сборку экранов и команд с ответами на частые запросы. Можете использовать сценарий без изменений или подстроить его под логику вашего бизнеса: добавить и убрать любые блоки.
- Graph — это разработка сценария в конструкторе.
- Code — написание сценария с помощью кода, подходит для разработчиков. Важно помнить о том, что в Code можно собрать чат-бот только для сайта, не для мессенджеров, поэтому в данной статье мы этот тип не рассматриваем.
Разберём тип сценария Graph: с его помощью вы сможете сами составить схему работы чат-бота в конструкторе.
Разработка сценария
Перейти к редактированию сценария можно со страницы базовых настроек, которую мы рассмотрели на предыдущем этапе. В блоке «Сценарий бота» нажмите кнопку со всплывающей подсказкой «Перейти к проекту».
Прежде чем начать разработку карты, рекомендуем составить перечень запросов, на которые вы хотите отвечать с помощью бота. Запишите, какие сообщения должен отправлять бот на вопросы пользователей, какие варианты развития беседы возможны. Так будет проще построить диалоги и логику работы бота.
Сценарий состоит из блоков со следующими возможностями:
- Написание текстового ответа. Это самый простой блок, когда пользователю должно прийти в ответ сообщение с готовым текстом. Ответы бота можно разнообразить: если указать в блоке несколько фраз, то ответ будет выбираться случайным образом.
- Запрос данных. Пользователь должен отправить в сообщении данные определённого формата. Бот определяет, является ли значение телефоном, электронной почтой или числом.
- Проверка условия. В сценарий можно добавить разветвление, чтобы строить диалог исходя из ответа клиента.
- Перевод диалога на сотрудника. Когда бот собрал все нужные сведения или затрудняется с ответом, он может перевести диалог на оператора.
- Вызов произвольного кода. Данные из чата можно сохранять и обрабатывать в сторонних системах. Пример: клиент указывает в сообщении номер заказа, который отправляется в CRM-систему, а затем в телеграм-диалог возвращаются детали по этому заказу. Другой пример — обновление персональных данных заказчика: из чата они передаются в CRM-систему.
Если вы хотите быстро начать работу с ботом, на экране «Создание проекта SaluteBot Конструктор» выберите готовый отраслевой шаблон. Например, для e-commerce подходит шаблон «Приём и оформление онлайн-заказов».
Шаблон включает блоки про выбор товара, оформление покупки прямо в телеграм-канале, уточнение статуса заказа, перевод на оператора:
Сценарий можно адаптировать под свой бизнес: отредактировать сообщения и кнопки, добавить или удалить экраны и блоки.
Проверка работоспособности
После настройки сценария нажмите кнопки «Сохранить» и «Собрать» в нижнем правом углу.
Дождитесь сообщения об успешной сборке, а затем проверьте, заработал ли ваш телеграм-бот. Для этого перейдите в диалог, нажмите кнопку «Start» или введите команду /start. Напишите какое-нибудь сообщение и убедитесь, что бот отвечает по той схеме, которую вы составили. Если получаете некорректные ответы или забыли добавить какую-то пользовательскую ситуацию, скорректируйте сценарий в конструкторе.
Телеграм-боты для бизнеса
Посмотрим, зачем нужны боты интернет-магазинам, инфобизнесу, рекламным агентствам и представителям других сфер.
Инфобизнес
Чат-бот может взять на себя все важные этапы работы с пользователем, а именно:
- помощь в создании профиля;
- рекламу и описание продуктов;
- отправку бесплатных «прогревающих» материалов;
- сопровождение клиента до оформления заказа.
Event-индустрия
В telegram-канал можно перенести рутинные задачи:
- помощь в бронировании мест на мероприятие;
- предоставление информации об адресе, спикерах;
- показ актуального расписания мероприятия;
- сбор обратной связи.
Как разработать Telegram-бота для генерации паролей
В статье рассказываем, как разработать Telegram-бота для генерации сложных паролей.
Введение
Чтобы придумать надежный, но запоминающийся пароль, можно взять несколько слов и объединить их в последовательность, напоминающую сюжет. А после — отформатировать и добавить специальные символы. Все просто, но задачу можно автоматизировать — написать Telegram-бота, который будет генерировать пароли прямо в мессенджере. В статье рассказываем, как это сделать.
Требования к работе бота
Прежде чем приступить к написанию кода, определим правила, по которым бот должен работать.
- Длина пароля должна быть от 2 до 8 слов. Так мы усложним задачу злоумышленнику — подобрать связку слов намного сложнее, чем одно слово.
- Между словами могут быть разделители в виде цифр и спецсимволов. Это увеличит энтропию и затруднит подбор пароля. Пароль с разделителями может выглядеть, например, так: unmovable8ENCRUST=macho.
- Дополнительно в пароле могут использоваться спецсимволы в начале (префиксы) и в конце (суффиксы) слова, которые также помогут увеличить сложность подбора.
- Количество слов, разделителей, префиксов и суффиксов должно настраиваться пользователем. Пользователю предоставляется интерфейс в виде сообщения с кнопками, нажатием на которые включаются и выключаются отдельные настройки
- Пользовательские настройки должны сохраняться в Redis и не сбрасываться при перезагрузке сервера с ботом. Выбор Redis обусловлен тем, что нам не требуются «фичи» реляционных СУБД — схемы, транзакции, миграции и другие — поэтому можно обойтись более простым в развертывании решением. Также мы будем использовать особенность aiogram — механизм конечных автоматов, который нативно поддерживает Redis как бэкенд.
Теперь посмотрим, что понадобится для разработки бота.
Что понадобится для разработки
Перед началом нужно подготовить среду разработки, установить нужные библиотеки и программы, а именно:
- Python — от версии 3.9 и выше,
- aiogram — асинхронный фреймворк для работы с Telegram Bot API,
- Redis — быстрое key-value хранилище,
- redis-py — клиент для работы с Redis,
- XKCD-password-generator — библиотека для генерации паролей,
- pydantic — библиотека для валидации данных и формирования настроек приложения.
И самое главное — репозиторий на GitHub. Его нужно импортировать в свое рабочее окружение и настроить.
Как настроить бота
Запустим бота локально. На этом этапе можем обойтись без Redis, но важно учитывать, что пользовательские настройки не будут сохранены между перезапусками.
Если вы пишете на Python и используете среду разработки PyCharm, то запустить бота будет максимально просто. После клонирования репозитория переключитесь на ветку article-tweaks (git checkout article-tweaks) и создайте новую конфигурацию запуска (Run Configuration). А затем установите параметры:
— BOT_TOKEN — укажите токен бота, его можно получить у @BotFather.
— STORAGE_MODE — выберите memory.
— WORDS__WORDFILE — укажите путь к файлу с набором слов. Он входит в состав репозитория, поэтому отдельно скачивать его не нужно.
Должно получится, как на скриншоте:
После этого запустите созданную конфигурацию. Вы увидите в консоли следующий текст:
INFO:aiogram.dispatcher.dispatcher:Start polling
Если вы используете не PyCharm, то процесс запуска несколько отличается. Создайте виртуальное окружение bot (python3 -m venv bot) и установите зависимости (pip install -r requirements.txt), а после — запустите бота следующей командой:
BOT_TOKEN=ключ от BotFather STORAGE_MODE=memory WORDS__WORDFILE=/path/to/words.txt python -m bot
Теперь попробуйте отправить в личные сообщения с ботом команду /start. Если в ответ получили текстовое приветствие, бот работает.
При вводе символа / вы должны увидеть список команд. Попробуйте вызвать их и изучить различные конфигурации. По умолчанию поддерживаются следующие пресеты:
- /generate_weak –— два случайных слова без каких-либо дополнительных символов.
- /generate_normal — три случайных слова, каждое из которых случайным образом может состоять из всех прописных или всех строчных букв, в качестве разделителей используются числа.
- /generate_strong — то же, что и в предыдущем случае, но слов четыре, а в качестве разделителей, помимо цифр, возможны спецсимволы.
Кроме этого, есть команда /settings — она приводит к отправке сообщения с настройками. А также команда /generate — отправляет сгенерированный пароль с учетом новой конфигурации:
Деплой бота
Все готово, но есть проблема: бот запущен на компьютере. Это неудобно, если вы хотите обеспечить круглосуточную работу бота. Ведь тогда нужно поддерживать бесперебойную работу компьютера и постоянное соединение с интернетом.
Оптимальное решение проблемы — загрузить проект на облачный сервер с гибкой производительностью ядра. Так можно обеспечить стабильную работу бота и ограничить потребление ресурсов, чтобы не переплачивать.
Поскольку затраты процессора на генерацию пароля и отправку его в Telegram минимальны, нам подойдет сервер линейки Shared Line. Это линейка облачных серверов с возможностью оплаты только части ядра, например 10, 20 или 50%. Shared Line позволяет использовать все преимущества облака и не переплачивать за неиспользуемые ресурсы.
Для начала зарегистрируемся в панели управления и создадим новый сервер в разделе «Облачная платформа». Затем — настроим его.
С учетом выделенного IP-адреса такая конфигурация выйдет примерно в 28 ₽/день. При желании можно обойтись без маршрутизируемого IP-адреса, поскольку Telegram-бот может принимать события методом опроса (поллинга), даже находясь за NAT.
1. После подключения к серверу по SSH, бота необходимо перенести. Для этого выполните следующие шаги:Откройте консоль сервера и обновите систему с помощью команды:
apt update && apt upgrade -y
2. Создайте отдельного пользователя для нашего бота и добавьте его в группу sudoers:
3. Установите Redis и присоедините его к systemd, воспользовавшись удобной инструкцией от DigitalOcean. Шаги 4 и 5 можно пропустить.
4. Клонируйте репозиторий и переключитесь на нужную ветку:
5. Настройте виртуальное окружение:
python3 -m venv venv && source /venv/bin/activate && pip install -r requirements.txt
6. Создайте файл systemd-службы по пути /etc/systemd/system/passgenbot.service со следующим содержимым:
[Unit] Description=Telegram Password Generator Bot Requires=redis.service After=network.target redis.service [Service] Type=simple WorkingDirectory=/home/bot/passgenbot ExecStart=/home/bot/passgenbot/venv/bin/python -m bot User=bot Group=bot EnvironmentFile=/home/bot/passgenbot/.env KillMode=process Restart=always RestartSec=10 [Install] WantedBy=multi-user.target
7. Обратите внимание на директиву EnvironmentFile. Создайте этот файл и поместите туда необходимые переменные окружения:
8. Убедитесь, что Redis запущен (systemctl status redis) и включите бота с добавлением его в автозапуск:
sudo systemctl enable passgenbot --now
Готово!
Разбираемся вместе
Возможности бота можно в любой момент персонализировать под себя. Если в какой-то момент пресетов станет недостаточно — добавить новые или изменить существующие. Это сделать достаточно просто.
За генерацию паролей по заданным пресетам отвечает класс XKCD. Под капотом наш бот выглядит так:
from random import choice from xkcdpass import xkcd_password class XKCD: # Весь список разделителей, отдельно цифры, отдельно – спецсимволы delimiters_numbers = ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9"] delimiters_full = ["!", "$", "%", "^", "&", "*", "-", "_", "+", "=", ":", "|", "~", "?", "/", ".", ";"] + delimiters_numbers def __init__(self, filename: str): # Загрузка словаря в память self.wordlist = xkcd_password.generate_wordlist( wordfile=filename, valid_chars="[a-z]", min_length=4, max_length=10, ) def weak(self): # Слабый пароль: 2 слова без раздетилей return xkcd_password.generate_xkcdpassword( self.wordlist, numwords=2, delimiter="", ) def normal(self): # Средний пароль: 3 слова, разделитель # в виде случайной цифры return xkcd_password.generate_xkcdpassword( self.wordlist, numwords=3, case="random", random_delimiters=True, valid_delimiters=self.delimiters_numbers ) def strong(self): # Сильный пароль: 4 слова и большой выбор разделителей return xkcd_password.generate_xkcdpassword( self.wordlist, numwords=4, case="random", random_delimiters=True, valid_delimiters=self.delimiters_full ) def custom(self, count: int, separators: bool, prefixes: bool): # Произвольный пароль: # сложность зависит от настроек пользователя pwd = xkcd_password.generate_xkcdpassword( self.wordlist, numwords=count, case="random", delimiter="", random_delimiters=separators, valid_delimiters=self.delimiters_full ) if prefixes == separators: return pwd elif separators and not prefixes: return pwd[1:-1] elif prefixes and not separators: return f""
Для добавлении нового пресета достаточно скопировать существующий, изменить его название и настроить параметры метода generate_xkcdpassword под себя.
И последним этапом — добавить в обработчик commands функцию для вызова своего пресета, чтобы программа знала, в какой ситуации его вызывать. Это можно сделать по аналогии с существующими пресетами.
from aiogram import types, Dispatcher from aiogram.utils.markdown import hcode from bot.pwdgen import XKCD async def cmd_generate_weak(message: types.Message): # вызов пресета weak pwd: XKCD = message.bot.get("pwd") await message.answer(hcode(pwd.weak())) async def cmd_generate_normal(message: types.Message): # вызов пресета normal pwd: XKCD = message.bot.get("pwd") await message.answer(hcode(pwd.normal())) async def cmd_generate_strong(message: types.Message): # вызов пресета strong pwd: XKCD = message.bot.get("pwd") await message.answer(hcode(pwd.strong())) # вот здесь можно добавить свою функцию для вызова пресета # регистрация команд def register_commands(dp: Dispatcher): # обработчик вызывает пресет weak по команде generate_weak dp.register_message_handler(cmd_generate_weak, commands="generate_weak") # обработчик вызывает пресет normal по команде generate_normal dp.register_message_handler(cmd_generate_normal, commands="generate_normal") # обработчик вызывает пресет strong по команде generate_strong dp.register_message_handler(cmd_generate_strong, commands="generate_strong") # вот здесь можно добавить свою команду
Заключение
Несмотря на то, что разработанный бот работает и выполняет свои прямые задачи по генерации сложных паролей, это далеко не предел его возможностей. В качестве дополнений и улучшений можно назвать добавление новых языков, автоудаление записей по таймеру, генерацию KeePass-совместимых баз данных, создание нескольких паролей одновременно и другое.
Зарегистрируйтесь в панели управления
И уже через пару минут сможете арендовать сервер, развернуть базы данных или обеспечить быструю доставку контента.
Авторизация в Telegram
Иногда нужно ограничить доступ к боту для определенного круга лиц.
Есть два способа реализовать это:
- Создать логин и пароль, которые будут вводить пользователи
- Ограничить доступ для определенного списка пользователей. Именно эту опцию мы рассмотрим в статье
Чтобы собрать список пользователей, для которых доступен бот, нужно собрать их username.
Username пользователя Telegram – это уникальный идентификатор аккаунта. Посмотреть его можно в настройках Telegram (Настройки –> Изменить профиль –> Имя пользователя). Либо вы можете попросить пользователей написать чат-боту. Так вы автоматически соберете их юзернеймы, отправив их себе в Telegram сообщением либо в Google Таблицу с помощью сервиса IFTTT.
Обратите внимание: Username – это не имя пользователя
Внимание! Если у вас в сценарии есть глобальный блок Интенты, то бот будет предоставлять пользователю информацию согласно реакциям из этого глобального блока. Решение – каждый раз после глобального блока проверять юзернейм пользователя.
Ограничить доступ средствами сценария
Вы можете настроить бот так, чтобы доступ к нему имели только определенные пользователи. Например те, username которых прописан в сценарии. Для этого в блоке Условия пропишите: $rawRequest.message.from.username === «username»
вместо username укажите юзернейм нужного пользователя (идентификатор аккаунта Telegram)
Если их username входит в список, то бот будет приветствовать их, а если нет, то сообщит, что доступ запрещен:
Также вы можете отправлять данные о том, что определенный пользователь воспользовался ботом, сообщением в Telegram по примеру этой статьи.
Либо можете отправлять данные в Google Таблицу с помощью сервиса IFTTT.
Используем Google Таблицы
Если у вас много пользователей Telegram, которым нужно предоставить доступ к боту, а остальным пользователям доступ запретить, вы можете хранить данные этих пользователей в Google Таблице.
Создайте Google Таблицу со списком юзернеймов
Первым делом создайте Google Таблицу со списком юзернеймов пользователей, которые будут иметь доступ к боту:
В таблице нужно перечислять именно юзернеймы пользователей (идентификаторы их аккаунтов), а не имена или телефоны
Опубликуйте таблицу
Чтобы опубликовать Google Таблицу, откройте меню Файл → Поделиться → Опубликовать в интернете (File → Share → Publish to web). Откроется окно, в котором нужно просто нажать на кнопку Опубликовать (Publish).
Создайте новый блок Условия
Создайте блок Условия со следующим содержимым:
Свяжите блок Условия с HTTP-запросом
Свяжите блок Условия с HTTP-запросом:
Содержимое HTTP-запроса
Укажите URL вида:
- Параметр указан внизу таблицы на вкладке листа таблицы.
- Параметр вы можете получить из URL таблицы:
На вкладке RESPONSE добавьте переменную $users со значением _.findWhere($httpResponse, ) .
Создайте новую связь с блоком Условия
Создайте связь с блоком Условия, в котором написано просто: $users .
Если в переменной $users что-то будет, то бот будет приветствовать пользователя, если нет – «Доступ запрещен». Вот как будет выглядеть цепочка экранов:
Вы также можете ознакомиться с подробной инструкцией о том, как обращаться к пользователям по имени и как использовать другие значения переменной $rawRequest .
Как установить аватар бота в Telegram?
1. Отправьте команду /setuserpic боту, отвечающему за создание других ботов @BotFather.
2. Отправьте в диалог изображение, которое будет установлено в качестве аватара.
Поделиться этой статьей
Также по теме
Настройка мессенджеров
- Работаете ли вы с группами в WhatsApp и Telegram?
- Как создать прямую ссылку на номер в WhatsApp?
- Отключение отчетов о прочтении в WhatsApp
- Как изменить имя бота в Telegram?
- Как изменить описание бота в Telegram?
- Как изменить информацию о боте в Telegram?
- Выделение текста в Telegram
- Где настроить онлайн-чат?
- Трансляция переписки в Telegram
- Выделение текста в WhatsApp
Задать вопрос
- Решения
- Российское ПО
- Тарифы
- Лидогенерация
- Техподдержка
- Конструктор чат-ботов
- Enterprise
- Готовые скрипты
- WhatsApp Business API
- Чат-боты
- Автоответы
- Интеграции
- Онлайн-чат
- Настройка чат-ботов
- Опросы в WhatsApp
- О нас
- Наши клиенты
- Вакансии
- Обратная связь
- Тур по продукту
- Документы
- Условия оферты
- Политика конфиденциальности
- Маркетплейс
- Блог
- Что нового?
- Демо
- База знаний
- iOS & Android Apps
- Для разработчиков
Бесплатный звонок по России
* Компания Meta Platforms Inc. признана экстремистской организацией, и ее деятельность запрещена на территории РФ. WhatsApp, Facebook и Instagram являются ее продуктами. Реализация Facebook и Instagram на территории РФ запрещена.
Введите новый пароль
Ваш пароль просрочен. Пожалуйста смените пароль. Сразу после смены пароля вы войдете в систему.
Менеджер свяжется с вами в ближайшее время.
Попробуйте позже или свяжитесь с нами через мессенджеры.
Упс! Сервер перегружен. Повторите попытку чуть позже.Мы отправили на ваш email письмо с инструкциями по восстановлению пароля. Если вы не получили письмо, проверьте папку со спамом.
Сервис Chat2Desk предназначен для работы с ПК. Для запуска Демо-режима откройте сайт https://chat2desk.com с компьютера. На мобильном устройстве предлагаем посмотреть ознакомительное видео.
Запишитесь на видеопрезентацию в чат-боте — мы покажем вам возможности Chat2Desk и ответим на вопросы.
Сейчас вы перейдёте в демо-режим, где сможете проверить работу сервиса:
- — Отправить сообщение на общий демо-аккаунт в WhatsApp, Телеграм или ВКонтакте;
- — увидеть своё сообщение в интерфейсе;
- — забрать себе чат, чтобы ответить от имени оператора.
Если вы хотите протестировать сервис со своими аккаунтами в мессенджерах, зарегистрируйтесь и получите 7 дней работы в триальном режиме.
Запишитесь на видеопрезентацию в чат-боте — мы покажем вам возможности Chat2Desk и ответим на вопросы.