external:дискобот:установка_и_настройка

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
Последняя версияСледующая версия справа и слева
external:дискобот:установка_и_настройка [2021/04/26 09:24] – [Конфигурация] ilyasavenkovexternal:дискобот:установка_и_настройка [2022/05/02 13:37] – [Лицензирование и Запуск] Александр Ильин
Строка 3: Строка 3:
 ===== Создание бота ===== ===== Создание бота =====
  
-Откройте Telegram и напишите в строку поиска «BotFather», вы должны увидеть бота с этим названием и галочкой, которая означает, что это официальный бот.+О том как завести своего бота [[external:zz_дополнительные_материалы:01_telegram_bot|подробно написано тут]] 
  
-{{:external:дискобот:pasted:20210330-130053.png}}+===== Настройка HTTP XML интерфейса ===== 
 +  - Перейдите в справочник "Сервис -> Станции и устройства"
 +  - Из дерева слева выберите кассовый сервер, с которым будет работать программа. 
 +  Перейдите во вкладку "Свойства" выбранного кассового сервера. 
 +  - В группе свойств HTTP ограничения для всех пунктов проставьте значение. Можно использовать стандартную привилегию (например, "HTTP Access"), а можно завести дополнительное значение и использовать его. 
 +  - В группе свойств HTTP Server  параметр "HTTP Data Port" установите в соответствии с любым свободным портом на компьютере, где работает выбранный кассовый сервер. 
 +  - Перезапустите кассовый сервер для того, чтобы выполненные настройки вступили в силу.
  
-Начните работу с ботом, нажав кнопку «СТАРТ», а затем напишите боту команду «/newbot». BotFather попросит у вас имя бота, которое будет отображаться в списке чатов. (например, «BotFather») Затем он попросит у вас системное имя бота, которое будет действовать в качестве ссылки на бота (например, «@BotFather»). Название обязательно должно быть на латинице (английские буквы) и не должно содержать пробелов. А также оно должно оканчиваться словом «bot» (например, «YourRestaurantBot»). После этого, при условии что вы ввели все правильно, вы получите HTTP API токен вашего нового бота. +===== Настройка пользователя для HTTP XML интерфейса =====
-{{:external:дискобот:pasted:20210405-062543.png}}+
  
-===== Настройка r_keeper =====+  - Перейдите в справочник "Персонал -> Работники" 
 +  - В рамках текущего ресторана выберите или создайте новую роль, дайте ей привилегию на объект "HTTP Access" (или ту что вы завели в прошлом разделе) в группе параметров "Менеджерские ограничения"  
 +  - Для выбранной роли создайте пользователя с названием строго из **ЛАТИНСКИХ ** букв, задайте пользователю пароль (цифры и латинские буквы).
  
-==== Новый работник ====+**Важно!** От имени этого работника в заказ будет добавляться информация о пресональной карте гостя, убедитесь что у данной роли есть права на «Общие операции», «Пользовательские операции» и «Редактирование заказа». 
  
-В менеджерской станции откройте справочник «Персонал → Работники», создайте новую роль «Сервис ДискоБот» и в этой роли нового работника «DiscoBot». Откройте свойства роли и дважды щелкните на поле «Операции», чтобы открыть окно операций. Поставьте галочки на группах «Общие операции», «Пользовательские операции» и «Редактирование заказа». У роли поставьте галочки на привилегию на объект «Отчеты UCS». Выберите работника DiscoBot, дважды щелкните по полю «Учетная запись» ([Пароль / Код карты]) и задайте пароль работнику. 
- 
-{{:external:дискобот:pasted:20210311-063951.png}} 
- 
-==== XML интерфейс ==== 
- 
-Откройте справочник «Сервис → Станции и устройства». Выберите кассовую станцию, где настроена дисконтная система, нажмите правой кнопкой мыши на пустом месте и откройте список драйверов. Перетащите «XML interface for windows» в список устройств и установите любой свободный порт в настройках (например, 12503). В свойствах кассового сервера укажите любой свободный порт в значении «HTTP Data Port» (например, 15151). А также в свойстве «XML интерфейс» укажите значение «Отчеты UCS». 
- 
-{{:external:дискобот:pasted:20210311-065702.png}} 
  
 ==== Свойство «Телефон» у работников ==== ==== Свойство «Телефон» у работников ====
Строка 28: Строка 26:
 Для корректной работы бота ему требуются телефоны сотрудников, для этого нужно создать дополнительно поле работникам, где можно будет записывать их номера. Откройте справочник «Настройки → Настройка → Расширенные свойства». Выберите группу «Свойства для справочников» и создайте новый тип расширенных свойств «Телефон». Задайте системное имя «PhoneNumber» (регистр очень важен) и тип свойства «ANSI string». Для корректной работы бота ему требуются телефоны сотрудников, для этого нужно создать дополнительно поле работникам, где можно будет записывать их номера. Откройте справочник «Настройки → Настройка → Расширенные свойства». Выберите группу «Свойства для справочников» и создайте новый тип расширенных свойств «Телефон». Задайте системное имя «PhoneNumber» (регистр очень важен) и тип свойства «ANSI string».
  
-{{:external:дискобот:pasted:20210311-065954.png}}+{{:external:дискобот:pasted:20220502-132603.png}}
  
 Дважды кликните по полю «Список типов», чтобы открыть окно типов для расширенного свойства «Телефон», затем добавьте новый элемент и выберите из списка «Работники → Работник». Дважды кликните по полю «Список типов», чтобы открыть окно типов для расширенного свойства «Телефон», затем добавьте новый элемент и выберите из списка «Работники → Работник».
Строка 34: Строка 32:
 {{:external:дискобот:pasted:20210311-070412.png}} {{:external:дискобот:pasted:20210311-070412.png}}
  
-После этого, возможно, понадобится перезапустить менеджерскую станцию, чтобы можно было редактировать поле «Телефон» у работников.+После этого, возможно, понадобится перезапустить менеджерскую станцию, чтобы добавленное свойство стало доступно в справочнике. 
 +Для всех сотрудников, которые будут работать с ботом, необходимо заполнить реальный телефон (тот, который указан в аккаунте Telegram). 
 +{{:external:дискобот:pasted:20220502-133031.png}} 
 + 
 +==== Настройка MCR алгоритма ==== 
 + 
 +Для применения кода бот использует MCR алгоритм, привязанный к логическому интерфейсу платежной системы. 
 +В настройках MCR алгоритма необходимо указать тип устройства «Штрих код». 
 + 
 +{{:external:дискобот:pasted:20210428-140005.png}}
  
 ===== Настройка бота ===== ===== Настройка бота =====
Строка 52: Строка 59:
   * interface — код логического интерфейса платежной системы.   * interface — код логического интерфейса платежной системы.
   * cash_station — код кассовой станции, от имени которой проходят операции.   * cash_station — код кассовой станции, от имени которой проходят операции.
 +  * phone_numbers — принимать ли ввод номера телефона для применения карты. (0 — только фотографии кодов, 1 — принимать также и ввод)
 +  * seat_discounts - поддержка скидок "по местам" (0 - скидка только "на заказ", 1 - выбор "на заказ" или "на место")
  
 Секция [log] Секция [log]
Строка 57: Строка 66:
   * retention — время жизни старых Log файлов в днях.   * retention — время жизни старых Log файлов в днях.
   * level — уровень важности логируемых сообщений, высокий уровень логирования будет показывать только критичные ошибки программы, низкий — всю информацию о работе программы.   * level — уровень важности логируемых сообщений, высокий уровень логирования будет показывать только критичные ошибки программы, низкий — всю информацию о работе программы.
 +
 +Пример конфигурационного файла:
 +<code ini>
 +[telegram]
 +; Токен бота, который должен выдать BotFather
 +token = <BOT_TOKEN>
 +
 +[r_keeper]
 +; Адрес кассового сервера
 +addr = 127.0.0.1
 +; Порт кассового сервера (HTTP Data Port)
 +port = 15151
 +; Имя работника (не код!)
 +user = Username
 +; Пароль работника
 +pass = Password
 +; Код логического интерфейса платежной системы
 +interface = 12
 +; Код кассовой станции, от имени которой проходят операции
 +cash_station = 1
 +; Принимать ли ввод номера телефона для применения карты. (0 — только фотографии кодов, 1 — принимать также и ввод)
 +phone_numbers = 0
 +; Включить поддержку скидок "на место"
 +seat_discounts = 1
 +
 +[log]
 +; Время жизни старых Log файлов в днях
 +retention = 7
 +; Уровень важности логируемых сообщений, высокий уровень логирования будет показывать
 +; только критичные ошибки программы, низкий — всю информацию о работе программы.
 +level = 1
 +</code>
  
 ==== Лицензирование и Запуск ==== ==== Лицензирование и Запуск ====
  
-  - Запустить DiscoBot.exe с ключом /license (либо запустить license_form.bat, который делает то же самое), подождать несколько секунд и произвести лицензирование: \\ 1.1 В окне программы нажать кнопку "Лицензирование" \\ 1.2 В открывшемся окне ввести логин и пароль в системе лицензирования ГК "Карбис" \\ 1.3 В отобразившемся списке объектов, выбрать текущий, указать дополнительные параметры лицензии и нажать кнопку "Отправить" \\ 1.4 Программа сообщит об успешном применении лицензии и закроет окно лицензирования \\ 1.5 После синхронизации данных с сервером лицензирования, в главном окне программы отобразятся данные о текущей лицензии \\ 1.6 Убедившись, что лицензия установлена корректно, закрыть окно программы. +  - Запустить DiscoBot.exe с ключом /license (либо запустить license_form.bat, который делает то же самое), подождать несколько секунд и произвести лицензирование:  
-  - Установить DiscoBot.exe с ключом /install и запустить службу CarbisDiscoBot+    - В окне программы нажать кнопку "Лицензирование"  
 +    - В открывшемся окне ввести логин и пароль в системе лицензирования ГК "Карбис"  
 +    - В отобразившемся списке объектов, выбрать текущий, указать дополнительные параметры лицензии и нажать кнопку "Отправить"  
 +    - Программа сообщит об успешном применении лицензии и закроет окно лицензирования  
 +    - После синхронизации данных с сервером лицензирования, в главном окне программы отобразятся данные о текущей лицензии  
 +    - Убедившись, что лицензия установлена корректно, закрыть окно программы. 
 +  - Установить DiscoBot.exe с ключом /install ибо запустить install.bat)  
 +  - Запустить службу CarbisDiscoBot
  
 **ВНИМАНИЕ!** \\ Перед запуском и лицензированием убедитесь, что файл server.bin не пустой. \\ В ином случае будет невозможно получить лицензию. **ВНИМАНИЕ!** \\ Перед запуском и лицензированием убедитесь, что файл server.bin не пустой. \\ В ином случае будет невозможно получить лицензию.
  
-**ВАЖНО!** \\ Дальнейшее **продление лицензии**  на модуль "CarbisDiscoBot" делается **ТОЛЬКО**  через сайт лицензирования ([[:lic:main#продление_лицензий|инструкция]])+**ВАЖНО!** \\ Дальнейшее **продление лицензии**  на модуль "CarbisDiscoBot" делается **ТОЛЬКО**  через сайт лицензирования ([[https://wiki.carbis.ru/lic/lic#продление_лицензий|инструкция]])