{"id":21942910,"url":"https://github.com/green-api/whatsapp-chatbot-1c","last_synced_at":"2025-04-22T18:44:55.376Z","repository":{"id":109551585,"uuid":"303153153","full_name":"green-api/whatsapp-chatbot-1c","owner":"green-api","description":"Внешняя обработка для программы 1С:Предприятие, которая демонстрирует реализацию простого чат-бота для мессенджера WhatsApp.","archived":false,"fork":false,"pushed_at":"2024-11-01T10:46:17.000Z","size":1350,"stargazers_count":20,"open_issues_count":0,"forks_count":5,"subscribers_count":9,"default_branch":"main","last_synced_at":"2025-03-29T17:41:29.530Z","etag":null,"topics":["1c","1c-enterprise","whatsapp","whatsapp-api","whatsapp-bot"],"latest_commit_sha":null,"homepage":"https://green-api.com","language":"1C Enterprise","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/green-api.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-10-11T15:35:37.000Z","updated_at":"2024-11-06T02:03:07.000Z","dependencies_parsed_at":"2024-11-30T08:32:56.626Z","dependency_job_id":null,"html_url":"https://github.com/green-api/whatsapp-chatbot-1c","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/green-api%2Fwhatsapp-chatbot-1c","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/green-api%2Fwhatsapp-chatbot-1c/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/green-api%2Fwhatsapp-chatbot-1c/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/green-api%2Fwhatsapp-chatbot-1c/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/green-api","download_url":"https://codeload.github.com/green-api/whatsapp-chatbot-1c/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250300385,"owners_count":21407901,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["1c","1c-enterprise","whatsapp","whatsapp-api","whatsapp-bot"],"created_at":"2024-11-29T03:27:13.379Z","updated_at":"2025-04-22T18:44:55.331Z","avatar_url":"https://github.com/green-api.png","language":"1C Enterprise","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Внешняя демо обработка с чат-ботом для WhatsApp  \n\n## Для чего нужна обработка\n\nОбработа - демо пример чат-бота для WhatsApp на базе 1С, который может быть взят за основу для написания своих чат-ботов. Интеграция сделана с использованием http сервиса, предоставляемого [Green API](https://green-api.com/).\n\n## Что потребуется, чтобы запустить бота\n\n* Платформа 1С не ниже версии 8.3.10\n* Два номера с учетками WhatsApp. Номера нужны, чтобы отправлять сообщения как бы \"самому себе\". При этом первый номер будет тот, с которого  мы будем писать команды чат-боту (далее ``клиентский номер``), а второй номер - с которого будет отвечать сам бот (далее ``номер бота``). Отправлять с одного номера не получится.\n* Аккаунт в сервисе [Green API](https://green-api.com/). Подойдет бесплатный тариф \"Разработчик\".\n\n## Как запустить бота:\n\n1. Устанавливаем на телефон два приложения - обычный [WhatsApp](https://play.google.com/store/apps/details?id=com.whatsapp) и [Whatsapp Business](https://play.google.com/store/apps/details?id=com.whatsapp.w4b).\n\n2. Один номер телефона регистрируем в WhatsApp, а другой в  Whatsapp Business.\n\n3. Скачиваем [обработку чат-бота](https://github.com/green-api/whatsapp-chatbot-1c-example/releases/download/1.0/GreenAPI_ChatBot.epf),\n\n4. Открываем обработку в режиме 1С Предприятие, переходим на вкладку ``Настройки`` и нажимаем на ``Помощник подключения``. Далее следуем инструкциям помощника. В помощнике будет предложено сканировать QR код. Сканируем его для ``номера бота``, с которого чат-бот будет писать на наш ``клиентский номер``.\n\n![`Интерфейс помощника`](media/HelperReg.png)\n\n5. Переходим на вкладку ``Чат-бот`` и нажимаем кнопку ``Запустить бота``.\n6. Открываем WhatsApp, на котором зарегистрирован ``клиентский номер`` и пишем любое сообщение на ``номер бота``. Бот отвечает приветственным сообщением:\n\n![`Чат-бот начало`](media/chatBotHello.png)\n\n7. Бот запущен. Теперь мы можем с ним общаться. Например, если написать в ответ цифру 1, то получим список номенклатуры:\n\n![`Чат бот запрос`](media/chatBotAction.jpg)\n\n## Особенности работы обработки\n\nЧат-бот работает в режиме ожидания получения сообщений - 20 сек.\nДалее переходит в режим бездействия - 10 сек.\nВ реальных условиях режим бездействия можно сократить, чтобы работа чат-бота не прерывалась.\nРекомендуется перенести код в фоновое задание на сервер.\n\n## Важно\n\n\u003e На время работы чат-бота ваш телефон должен быть заряжен и подключен к Интернет. Если телефон выключиться, то работа чат-бота прекратится.\n\n## Какие сценарии поддерживает бот\n\nСообщения и ответы бота можно настроить в коде обработки под себя. С помощью бота можно запрашивать у клиента информацию по шагам, уточняя свой вопрос с каждым новым ответом клиента.\n\nТакже поддерживаются глобальные команды. Например, если написать боту текстом слово ``Выход``, то диалог сбросится и начнется с самого начала. Эту функцию можно использовать для реализации команд типа ``Отписаться``, ``Стоп`` и т.п.\n\n## Как настроить свои сценарии\n\n1. Открываем обработку в режиме конфигуратора.\n2. В модуле объекта смотрим на функцию ``ПодготовитьШаблоныСообщений()``. Эта функция содержит все сообщения, которые пишет сам бот в ответ на сообщения пользователя.\n3. Чтобы добавить новый ответ внутри этой функции вызываем метод ``НовыйОтветБота`` по аналогии как это сделано в демо-примере: \n\n``` bsl\nФункция ПодготовитьШаблоныСообщений(КоллекцияШаблонов, КоллекцияГлобальныхШаблонов)\n\n    ОтветПоНоменклатуре = НовыйОтветБота(НовоеСообщение, \"1\", \"Выводим \n        список товаров...\", \"Подключаемый_ВывестиНоменклатуру\");\n\nКонецФункции\n\n```\nЕсли нужно, то прописываем обработчик, который срабатывает после того, как клиент ответил боту верной командой. Обработчик должен быть в модуле объекта и иметь два входных параметра, например как в демо:\n\n```bsl\nПроцедура Подключаемый_ВывестиНоменклатуру(Чат, Шаблон)\n\n    ОтправитьСообщениеВЧат(Чат.ИдЧата, \n    \"Арт: 123456, Чайник Электролюкс; цена: 1 200 руб; на складе: 12 шт,\n    |Арт: 12223, Холодильник Хайер; цена: 45 000 руб; на складе: 4 шт\n    |Арт: 54656, Телевизор Самсунг; цена: 110 000 руб; на складе: 2 шт\");\n\nКонецПроцедуры\n\n```\n\nЧтобы сделать вложенный ответ, используем тот же метод ``НовыйОтветБота()``, но только в качестве первого параметра передаем результат ``родительского`` метода, например как в демо:\n\n```bsl\n// Родительский ответ\nОтветПоНоменклатуре = НовыйОтветБота(НовоеСообщение, \"1\", \"Выводим \n    список товаров...\", \"Подключаемый_ВывестиНоменклатуру\");\n\n// Вложенный ответ\nОтветМенеджер = НовыйОтветБота(ОтветПоНоменклатуре,, \"Хотите связаться с менеджером (Да/Нет)?\");\n\n```\n\nЧтобы прописать глобальную команду, используем метод ``НовыйГлобальныйОтветБота()`` и первым параметром в него передаем  переменную ``КоллекцияГлобальныхШаблонов``. Пример:\n\n```bsl\nФункция ПодготовитьШаблоныСообщений(КоллекцияШаблонов, КоллекцияГлобальныхШаблонов)\n\n    НовыйГлобальныйОтветБота(КоллекцияГлобальныхШаблонов, \"Выход\", \"Работа с чат ботом завершается...\", \"Подключаемый_ВыключитьЧатБот\");\n\nКонецФункции\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgreen-api%2Fwhatsapp-chatbot-1c","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgreen-api%2Fwhatsapp-chatbot-1c","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgreen-api%2Fwhatsapp-chatbot-1c/lists"}