Мы напишем вот такого бота

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

Определение и предназначение чат-ботов


Простыми словами, чат-бот в телеграме — это небольшое приложение (программа) в мессенджере, способное выполнять различные задачи при взаимодействии с пользователем. Существующих ботов уже немало, и их число продолжает расти, потому что создавать эти приложения может любой пользователь, потратив немного времени и сил.

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

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

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

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

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

Ниже мы подробнее поговорим о создании ботов обоими способами.

Вариант 1. Пишем сами


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

Обычно чат-ботов пишут на Python, но можно использовать и другие языки: Java, C++, Ruby и т.д. Если вы не знакомы ни с одним из них, можно потратить время на их изучение или поступить иначе: составить техническое задание и обратиться к программисту. Найти его можно в интернете, через соцсети, биржи фрилансеров, специализированные компании, при помощи знакомых.

Инструкция по написанию чат-бота на Питоне:
Для создания бота нужно обратиться к уже существующему боту в телеграм BotFather. У него выбираем команду /newbot и придумываем название и имя пользователя (обязательно должно заканчиваться на ‘bot’) своего бота. BotFather присылает токен нашего нового бота и мы его копируем. Также тут можно сразу добавить аватарку, описание и многое другое, используя интерактивное меню.



Теперь нужно установить на компьютере необходимую библиотеку telebot (pyTelegramBotAPI). Для этого открываем командную строку и прописываем pip install pyTelegramBotAPI.

Затем переходим в любую среду для написания кода Python и импортируем эту библиотеку, а также, чтобы создавать разные объекты, нужно подключить модуль types. После этого создаём самого бота.



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



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

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




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



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



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



Вот такой результат получился:




API и технические детали
Большое значение при программировании бота имеет API — программный интерфейс, при использовании которого программы, веб-сервисы и приложения обмениваются данными. Ботами в телеграме управляют программы, которые обращаются к серверам мессенджера, чтобы получать данные (к примеру, о сообщении, полученном ботом) и отправлять команды (например, отправить ответ на сообщение). Связь между программами, руководящими ботами и серверами выполняется через API.

Основной API, при помощи которого происходит обмен данными, — это Telegram API (MTProto API). Он базируется на протоколе MTProto, созданном командой Telegram и открыт, чтобы разработчики смогли писать собственные программы для мессенджера. Кроме него, существует Bot API — это дополнительно разработанное API поверх MTProto API, на котором действуют лишь боты. Создан он, чтобы программисты имели возможность писать ботов на стандартных HTML-запросах, не тратя время на знакомство с MTProto.

Для разработки ботов можно использовать библиотеки и для Telegram API, и для Bot API. Для Bot API их количество больше, однако и ограничений будет больше: к примеру, он не позволяет скачивать объёмные файлы или подгружать устаревшие сообщения из истории переписки.

Изучить технические данные протокола MTProto можно в справочной службе Telegram.

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


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

  • Цель создания бота. Ради чего разрабатывается приложение, что именно вы от него ожидаете, какие задачи оно должно выполнять.
  • Целевая аудитория, с которой будет взаимодействовать чат-бот. Здесь вы указываете, с кем предстоит разговаривать чат-боту, какой стиль общения допустим, как он должен обращаться к людям (на «ты» или на «вы»), может ли позволять себе шутки, присылать развлекательный контент и т. д. Чем подробнее будет этот раздел, тем лучше приложение будет взаимодействовать с будущей аудиторией.
  • Функциональность бота. Здесь вы объясняете, какие инструменты должны быть у приложения, что оно будет делать: отвечать на вопросы, принимать заказы и т. д.
  • Слова-триггеры и риск-тематики. Здесь вы указываете реплики, при которых бот должен перевести разговор на живого специалиста. Это может быть, например, фраза «я перестану с вами работать», нецензурная брань и т. п.
  • Производительность. Рассчитывается исходя из размера потенциальной аудитории. Здесь должны быть учтены паузы между ответами, продолжительность ответа и т. д. Чем быстрее приложение будет работать, тем быстрее оно закончит разговор с пользователем и сможет перейти к следующему клиенту: это важно в так называемый «час пик», когда количество людей, нуждающихся в его помощи, большое.
  • Интеграции. Если нужно, чтобы бот работал с платёжными и CRM-системами или другими внешними платформами, сообщите об этом в данном разделе.
  • Безопасность решения. Здесь указываются требования к конфиденциальности и защите личных данных пользователей. Если приложение собирает такую информацию, механизмы шифрования и аутентификации должны быть надёжные.
  • Используемые технологии. Здесь указывается программное обеспечение и технологии, выбранные для работы с приложением.
  • Личность чат-бота. Имя, описание, характер бота: всё, что поможет людям наладить с ним взаимодействие и воспринимать его как личность.
  • Персонализированное общение. Если бот может обращаться к человеку по имени, это улучшает их взаимодействие.
  • Использование нейросетей и ИИ. Если они должны быть задействованы при разработке бота, нужно указать, какие именно платформы должны быть использованы, должны ли они дообучаться в процессе работы с клиентом, как будет обеспечиваться защита данных в процессе работы с ними и т.д.
  • Критерии успеха. Здесь вы указываете, какой результат хотите получить, как будете его оценивать, по каким параметрам, как он будет трактоваться и т. д.

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

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

Конструкторы для создания чат-ботов


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

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



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

Достоинства Botman:

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

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

Botmother
Платформа для создания чат ботов любой сложности. Здесь можно конструировать приложения для Телеграм, Viber, WhatsApp, Одноклассников и ВКонтакте при помощи простого перетаскивания готовых блоков в визуальном редакторе.



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

Multy
Мульти — это мультиконструктор для создания чат ботов и сайтов. Имеет простой и понятный интерфейс, множество шаблонов для разных случаев жизни, а также бесплатное обучение для знакомства с инструментами площадки.



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

Что учесть при создании чат-бота


При разработке чат ботов важно учитывать, что сделано следующее:

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

Если всё это учтено, можно переходить к созданию.

Технические характеристики чат-ботов


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

Принцип работы
Принцип работы бота можно представить так:

  1. Пользователь запускает бота.
  2. Приложение приветствует человека, рассказывает, какие задачи выполняет и предлагает ввести вопрос или выбрать из доступных вариантов (это может быть несколько кнопок с функциями бота или же варианты фраз, которые нужно ввести: «Цены», «Услуги», «Справка» и т.п.).
  3. Человек пишет сообщение или делает выбор.
  4. Приложение анализирует сообщение пользователя и либо делает ответ, либо переводит диалог на оператора.

Шаги 3-4 повторяются, пока вопрос человека не будет решен или же пока бот не определит, что не может помочь пользователю и не пригласит специалиста.

Разработка сценариев для чат-ботов под определённый вид


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

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

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

  • Интеллектуальные и ограниченные. К первым относятся приложения, для которых предусмотрено машинное обучение и постепенное расширение и улучшение сценариев. Вторые работают по фиксированному сценарию, не допускающему изменений.
  • Платформа. Для какого устройства и ОС создается бот: для ПК, смартфонов, для Android, iOS и Windows и т. д.
  • Область применения. Приложения создаются для работы в мессенджерах, соцсетях и на сайтах.
  • Вид общения. Текстовые боты или голосовые.
  • Задачи. Приложение только находит и присылает данные по запросу или самостоятельно что-то делает.
  • Цели создания. Боты могут быть для консультаций и продаж, для техподдержки организаций, ассистенты, информационные, для привлечения лидов, приёма платежей и оформления доставки и т.д.
  • Кнопочные или с вводом текста. Для взаимодействия с приложением нужно отправлять сообщения или нажимать на кнопки меню.
  • Боты с интеллектуальными подсказками или без. При вводе слова пользователь видит популярные запросы, связанные с этим словом, которые предлагает приложение.
  • Смарт-боты. Взаимодействие с ними максимально похоже на общение с человеком, они распознают речь и отвечают практически как живые люди. К таким приложениям относятся голосовые помощники. Яркие примеры — Алиса от Яндекса или Google Ассистент.

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

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

  1. Определите цель создания приложения и продумайте задачи, которые он должен выполнять.
  2. Продумайте ход сценария, от приветствия до прощания с клиентом.
  3. Разбейте сценарий на шаги, на каждом из которых определяйте информацию, которую нужно донести до клиента, отработку его возможных возражений и т.д., то есть всё, что должно быть на этом этапе и что приведет к переходу на следующий.
  4. Каждый шаг оформите в форме диалога с клиентом.
  5. Пропишите одобрения действий пользователя, чтобы наладить с ним взаимодействие и установить эмоциональную связь.
  6. Создайте портрет чат-бота, одушевите его: придумайте пол, имя, аватар. Определите его статус: консультант, помощник, сотрудник поддержки, друг пользователя и т. д.
  7. На каждом шаге предусмотрите вариант перевода разговора на живого оператора.

Для разных видов ботов подходят разные типы сценариев. Возможные варианты:

  • «Пещера времени» («Пирамида»). Универсальный и простейший тип сценария, оптимальный для приложений, ведущих консультации по услугам и товарам. Бот присылает первое сообщение, чтобы узнать вопросы клиента, а затем, в зависимости от ответа, предлагает ряд вариантов. Может использоваться для интернет-магазинов, бизнес-консультантов, техподдержки.
  • «Перчатка». Тип сценария, основой которого является столб в центре. От него идут в стороны ветви, которые завершаются прекращением работы бота или возвратом назад на несколько шагов. Подходит для учебных курсов. Бот отправляет материалы, задаёт финальный вопрос и, проанализировав ответ, решает, стоит ли переходить к новому заданию или вернуться назад для повтора. Также может быть использован для тренажёров и воронок продаж.
  • «Перчатка 2.0» («Ветвистая схема», «Ветки и бутылочное горлышко»). Как и предыдущий вид сценария, имеет столб в центре и ответвления, но последние в определённых местах могут пересекаться на ключевых моментах. Сделан для разработки объёмных приложений в бизнесе, с внушительным функционалом.
  • «Игровая модель». Сценарий реализуется в виде теста, квеста или квиза, имеет множество соединяющихся ветвей, предполагающих несколько финалов. Подходит для учёбы: информация в игровой форме лучше запоминается.
  • «Свободное пространство». Сценарий подразумевает развитие в обе стороны. Есть центральный столб, от него идут ответвления, от которых, в свою очередь, идут блоки. Простая, наглядная и понятная схема.
  • «Открытая карта». Пользователь свободно перемещается между уровнями взаимодействия с ботом. Применяется для приложений, включающих себя несколько более простых ботов, выполняющих различные функции.

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

Полезные рекомендации по созданию ботов


Ряд советов и рекомендаций, которые помогут в написании эффективного бота:

  1. Чётко определяйте задачи, которые будет решать приложение: это поможет вам или людям, которые будут работать над вашим заказом, добиться результата, который вы хотите получить.
  2. Приветствуя пользователя, бот должен рассказать, какие задачи он выполняет, как он работает и как он может помочь людям. Это упростит взаимодействие человека и бота.
  3. Работая над ботом, стремитесь, чтобы на вопросы, которые он задавал, можно было дать односложный ответ, или же предоставляйте выбор из нескольких вариантов (для каждого отдельная кнопка). Не используйте способ взаимодействия, при котором пользователь сможет на вопрос приложения ввести развёрнутый ответ: это может сбить бота, и он не выполнит свою задачу.
  4. Чтобы бот не отклонялся от сценария, прописывайте его работу так, чтобы он мог вернуться к тем темам разговора, которые ему знакомы, если пользователь уводит диалог в сторону.
  5. Бот должен задавать уточняющие вопросы, которые помогут точно установить потребности пользователя и, если ему не удается этого сделать, нужно, чтобы он переводил разговор на живого сотрудника.
  6. При взаимодействии с приложением пользователи могут отправлять ему сообщения или выбирать нужные варианты ответа из предложенных кнопок. Остановитесь на втором варианте: так бот не собьётся со сценария, если человек начнёт писать развёрнутые вопросы или спрашивать о том, что не прописано в сценарии.
  7. Определите вашу потенциальную аудиторию и настройте боту стиль общения, максимально ей соответствующий.
  8. Не предлагайте слишком много функций сразу: это запутает пользователей. Лучше изначально установить минимум возможностей, а затем постепенно добавлять новые, предупреждая о них людей и объясняя, как ими пользоваться.
  9. Всегда должен быть человек, на которого бот может перевести диалог. Это нужно для работы с конфликтными клиентами или в случаях, когда возможностей приложения недостаточно.
  10. По возможности используйте конструкторы чат-ботов вместо программирования: они просты в использовании и, потратив немного времени на обучение, вы сможете сами создавать чат-ботов и проектировать их именно так, как вам нужно. Если у вас нет навыков программирования, обучиться ему будет сложнее, а заказ приложения у программистов потребует дополнительного вливания средств.
  11. Тестируйте чат-бота перед запуском: убедитесь, что он работает правильно и решает вопросы пользователей.
  12. Продвигайте чат-бота. Если у вас есть сайт, расскажите там о приложении. Напишите о нём в ваших группах и сообществах в соцсетях и мессенджерах. Если вы работаете с людьми напрямую, например, оказываете какие-либо услуги, сообщайте им, что можно воспользоваться ботом, например, чтобы записаться к вам на консультацию или получить информацию о товарах или услугах.

Следуйте этим правилам, и получившийся бот будет хорошо взаимодействовать с пользователями и помогать им в решении их вопросов.

Вопросы и ответы по чат-ботам (FAQ)


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

— Где можно использовать чат-ботов, в каких социальных сетях или мессенджерах?
— Область применения чат-ботов очень широка. Обычно их используют в телеграме, реже — в ВК, но вы можете сделать чат-бота для WhatsApp, Viber, «Одноклассников», Инстаграм* или Facebook, для вашего сайта. Приложения могут быть разработаны для внешнего общения с клиентами, партнёрами или иными людьми, а также для внутреннего, например, в компании для проверки выполненных задач или для работы с отчётами.

— Кто такие боты и почему они так называются?
— Бот (сокращение от слова «робот») – это небольшое приложение или программа, способная выполнять определённые задачи при взаимодействии с пользователем. Боты могут использоваться в личных целях и в бизнесе, область их применения очень широка.

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

— Можно подключить ботов к другим сервисам и платформам?
— Да, боты сегодня успешно интегрируются с другими площадками. Это могут быть платёжные или CRM-системы, сервисы Google (Google Таблицы и т.д.), обучающие платформы, телефония, сервисы рекламы и многое другое.

Комментарии (3)


  1. 0xBAB10
    18.09.2024 07:51

    есть предложение получше: прооперировать самому себе аппендицит без навыков хирургии

    вотэто тема будет


  1. smarkelov
    18.09.2024 07:51

    спросить chatgpt не работает?


  1. d-sh
    18.09.2024 07:51

    Простейший чатгпт бот на питоне. Работает из рф без прокси и регистрации.

    #!/usr/bin/env python3
    # pip install -U duckduckgo_search[lxml]
    # pip install pyTelegramBotAPI
    
    
    import time
    from duckduckgo_search import DDGS
    import telebot
    
    import cfg
    
    
    # Объекты для доступа к чату {id:DDG object}
    CHATS_OBJ = {}
    
    
    def chat_new_connection():
        '''Connect with proxy and return object'''
        return DDGS(timeout=120)
    
    
    def chat(query: str, chat_id: str, model: str = 'gpt-4o-mini') -> str:
        '''model = 'claude-3-haiku' | 'gpt-3.5' | 'llama-3-70b' | 'mixtral-8x7b' | 'gpt-4o-mini'
        '''
    
        if chat_id not in CHATS_OBJ:
            CHATS_OBJ[chat_id] = chat_new_connection()
    
    
        try:
            resp = CHATS_OBJ[chat_id].chat(query, model)
            return resp
        except Exception as error:
            print(f'my_ddg:chat: {error}')
            time.sleep(2)
            try:
                CHATS_OBJ[chat_id] = chat_new_connection()
                resp = CHATS_OBJ[chat_id].chat(query, model)
                return resp
            except Exception as error:
                print(f'my_ddg:chat: {error}')
                return ''
    
    
    # Инициализация бота Telegram
    bot = telebot.TeleBot(cfg.token)
    
    
    # Обработчик команды /start
    @bot.message_handler(commands=['start'])
    def send_welcome(message):
        bot.reply_to(message, "Привет! Я простой чат-бот. Напиши мне что-нибудь.")
    
    
    # Обработчик текстовых сообщений
    @bot.message_handler(func=lambda message: True)
    def echo_all(message):
        query = message.text
        chat_id = str(message.chat.id)
        response = chat(query, chat_id)
        bot.reply_to(message, response)
    
    
    # Запуск бота
    bot.polling()