====== Установка и настройка ======
Данная статья является устаревшей. Актуальная документация по установке и настройке модуля:[[external:pro_discobot|ProDiscoBot]]
===== Создание бота =====
О том как завести своего бота [[external:zz_дополнительные_материалы:01_telegram_bot|подробно написано тут]]
===== Настройка HTTP XML интерфейса =====
Описано в статье [[external:zz_дополнительные_материалы:02_xml_interfaсe_rkeeper|Настройка XML интерфейса]]
===== Настройка пользователя для HTTP XML интерфейса =====
- Перейдите в справочник "Персонал -> Работники"
- В рамках текущего ресторана выберите или создайте новую роль, дайте ей привилегию на объект "HTTP Access" (или ту что вы завели в прошлом разделе) в группе параметров "Менеджерские ограничения"
- Для выбранной роли создайте пользователя с названием строго из **ЛАТИНСКИХ ** букв, задайте пользователю пароль (цифры и латинские буквы).
**Важно!** От имени этого работника в заказ будет добавляться информация о пресональной карте гостя, убедитесь что у данной роли есть права на «Общие операции», «Пользовательские операции» и «Редактирование заказа».
==== Свойство «Телефон» у работников ====
Для корректной работы бота ему требуются телефоны сотрудников, для этого нужно создать дополнительно поле работникам, где можно будет записывать их номера. Откройте справочник «Настройки → Настройка → Расширенные свойства». Выберите группу «Свойства для справочников» и создайте новый тип расширенных свойств «Телефон». Задайте системное имя «PhoneNumber» (регистр очень важен) и тип свойства «ANSI string».
{{:external:дискобот:pasted:20220502-132603.png}}
Дважды кликните по полю «Список типов», чтобы открыть окно типов для расширенного свойства «Телефон», затем добавьте новый элемент и выберите из списка «Работники → Работник».
{{:external:дискобот:pasted:20210311-070412.png}}
После этого, возможно, понадобится перезапустить менеджерскую станцию, чтобы добавленное свойство стало доступно в справочнике.
Для всех сотрудников, которые будут работать с ботом, необходимо заполнить реальный телефон (тот, который указан в аккаунте Telegram).
{{:external:дискобот:pasted:20220502-133031.png}}
==== Настройка MCR алгоритма ====
Для применения кода бот использует MCR алгоритм, привязанный к логическому интерфейсу платежной системы.
В настройках MCR алгоритма необходимо указать тип устройства «Штрих код».
{{:external:дискобот:pasted:20210428-140005.png}}
===== Настройка бота =====
==== Подготовка ====
В составе установочного пакета в папке redist находится VC_redist.x86. Установите его.
Если visual c++ уже установлен в системе - этот пункт можно пропутистить.
==== Конфигурация ====
Откройте файл config.ini и отредактируйте значения. Секция [telegram]:
* token — токен бота, который должен выдать BotFather в пункте [[#создание_бота|«Создание бота»]].
Секция [r_keeper]:
* addr — адрес кассового сервера.
* port — порт кассового сервера (HTTP Data Port из пункта [[#XML_интерфейс|«XML интерфейс»]]).
* user — имя работника (не код!), созданного в пункте [[#новый_работник|«Новый работник»]].
* pass — пароль работника.
* interface — код логического интерфейса платежной системы.
* cash_station — код кассовой станции, от имени которой проходят операции.
* phone_numbers — принимать ли ввод номера телефона для применения карты. (0 — только фотографии кодов, 1 — принимать также и ввод)
* seat_discounts - поддержка скидок "по местам" (0 - скидка только "на заказ", 1 - выбор "на заказ" или "на место")
Секция [log]
* retention — время жизни старых Log файлов в днях.
* level — уровень важности логируемых сообщений, высокий уровень логирования будет показывать только критичные ошибки программы, низкий — всю информацию о работе программы.
Пример конфигурационного файла:
[telegram]
; Токен бота, который должен выдать BotFather
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
==== Лицензирование и Запуск ====
- Запустить DiscoBot.exe с ключом /license (либо запустить license_form.bat, который делает то же самое), подождать несколько секунд и произвести лицензирование:
- В окне программы нажать кнопку "Лицензирование"
- В открывшемся окне ввести логин и пароль в системе лицензирования ГК "Карбис"
- В отобразившемся списке объектов, выбрать текущий, указать дополнительные параметры лицензии и нажать кнопку "Отправить"
- Программа сообщит об успешном применении лицензии и закроет окно лицензирования
- После синхронизации данных с сервером лицензирования, в главном окне программы отобразятся данные о текущей лицензии
- Убедившись, что лицензия установлена корректно, закрыть окно программы.
- Установить DiscoBot.exe с ключом /install (либо запустить install.bat)
- Запустить службу CarbisDiscoBot
**ВНИМАНИЕ!** \\ Перед запуском и лицензированием убедитесь, что файл server.bin не пустой. \\ В ином случае будет невозможно получить лицензию.
**ВАЖНО!** \\ Дальнейшее **продление лицензии** на модуль "CarbisDiscoBot" делается **ТОЛЬКО** через сайт лицензирования ([[https://wiki.carbis.ru/lic/lic#продление_лицензий|инструкция]])