Перейти к содержанию

Настройки Мессенджера

Назначение документа

В инструкции описаны основные настройки Мессенджера в инсталляции. Документ предназначен для использования администраторами организации.

Примечание

Ранее Мессенджер и ВКС назывался Myteam, что находит отражение в технических моментах (например, команды в консоли).

Разрешить изменение имени контакта

Чтобы настроить для пользователей возможность изменять имена контактов:

  1. Добавьте в конфигурационный файл /usr/local/nginx-im/html/myteam/myteam-config.json параметр allow-contacts-rename и укажите для него флаг true или false:

    { 
        },
        "allow-contacts-rename": true,
        ....
        },
    }
    

    где:

    • false — отключает возможность изменения имени контакта.
    • true — разрешает изменение имени контакта. Измененное имя будет видно только тому пользователю, который внес это изменение.
  2. Для инсталляции на одну виртуальную машину выполните команду:

    HELMWAVE_USE_LOCAL_REPO_CACHE=true hwup -t godmod
    

    Для кластерной инсталляции:

    HELMWAVE_USE_LOCAL_REPO_CACHE=true HELMWAVE_ENV_NAME=cluster hwup -t godmod
    
  3. Перезапустите под в технологическое окно (может приводить к сбою в новых подключениях):

    kubectl delete pods -n vkteams -l app=myteam-admin
    

Разрешить использование функции шумоподавления

Чтобы настроить для пользователей возможность применять функцию шумоподавления:

  1. Добавьте в конфигурационный файл /usr/local/nginx-im/html/myteam/myteam-config.json параметр voip-noise-suppress-enabled и укажите для него флаг true или false:

    }
    "voip-noise-suppress-enabled":true,
    ....
    }
    

    где:

    • false — отключает возможность настройки шумоподавления.
    • true — включает возможность настройки шумоподавления. В настройках приложения VK WorkSpace в разделе Звонки, доступна настройка Шумоподавление: выключить, слабое, сильное.
  2. Для инсталляции на одну виртуальную машину выполните команду:

    HELMWAVE_USE_LOCAL_REPO_CACHE=true hwup -t godmod
    

    Для кластерной инсталляции:

    HELMWAVE_USE_LOCAL_REPO_CACHE=true HELMWAVE_ENV_NAME=cluster hwup -t godmod
    
  3. Перезапустите под в технологическое окно (может приводить к сбою в новых подключениях):

    kubectl delete pods -n vkteams -l app=myteam-admin
    

Настроить порядок отображения фамилии, имени и отчества

По умолчанию отображение фамилии, имени и отчества в инсталляциях следующее: имя, отчество, фамилия.

Чтобы изменить порядок отображения фамилии, имени и отчества в клиентском приложении:

Шаг 1. Добавьте в конфигурационный файл /usr/local/nginx-im/html/myteam/myteam-config.json в секцию myteam-config.json следующие настройки:

"leading-last-name": true,
"allow-contacts-rename": false

где:

  • leading-last-name: false — отображает фамилию контакта в конце;
  • leading-last-name: true — отображает фамилию контакта в начале.

Шаг 2. Для инсталляции на одну виртуальную машину выполните команду:

HELMWAVE_USE_LOCAL_REPO_CACHE=true hwup -t godmod

Для кластерной инсталляции:

HELMWAVE_USE_LOCAL_REPO_CACHE=true HELMWAVE_ENV_NAME=cluster hwup -t godmod

Шаг 3. Перезапустите под в технологическое окно (может приводить к сбою в новых подключениях):

kubectl delete pods -n vkteams -l app=myteam-admin

Шаг 4. В конфигурационных файлах сервисов Prof-st, Front и Beagle добавьте настройку:

swap_person_first_last_name true

Расположение конфигурационных файлов:

/usr/local/etc/front-1.conf

/usr/local/etc/front-2.conf

/usr/local/etc/front-3.conf

/usr/local/etc/front-4.conf

/usr/local/etc/beagle-1.conf

/usr/local/etc/prof-st-1.conf

Для инсталляций, где уже были созданы пользователи и эти пользователи имеют непустые контакт листы, выполните шаги, описанные ниже.

Примечание

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

Шаг 1. Средствами виртуальной машины выполните бэкап/точку восстановления на случай сбоя.

Шаг 2. В каждом инстансе сервиса Сox:

  1. Включите уровень логирования в сервисе Cox (main) >= 3 (INFO).

    Уровень логирования при старте сервиса задаётся аргументом сервиса -l:

    systemctl status cox-1
    

    Изменить уровень логирования в работающем сервисе можно через ввод в управляющий порт set log_level 3.

    Номер командного порта можно узнать из настроек сервиса в значении переменной compot_bind. Пример для конфигурационного файла /usr/local/etc/cox-1.conf:

    sudo grep compot_bind /usr/local/etc/cox-1.conf
    

    Подключиться к командному порту можно утилитой nc (netcat):

    nc 0.0.0.0 4221
    set log_level 3
    
  2. В настройках сервиса Cox (main) присвойте значение переменной cox.remove_buddy_aliases.dryrun false.

    В работающем сервисе это значение меняется через введение в управляющий порт команды set cox.remove_buddy_aliases.dryrun false:

    nc 0.0.0.0 4221
    set cox.remove_buddy_aliases.dryrun false
    
  3. В управляющий порт сервиса Cox (main) введите команду remove_buddy_aliases:

    nc 0.0.0.0 4221
    remove_buddy_aliases
    
  4. Просмотрете логи сервиса Cox:

    tail -f /oap/icq/logs/cox-1.log
    

    В логах сервиса ожидаются записи вида Remove buddy aliases for sn. Окончание операции логируется записью вида BuddyAliasRemover finished.

    Важно

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

Шаг 3. В каждом инстансе сервиса Feedog:

  1. Определите управляющий порт инстанса командой ps aux | grep feedog_srv. Порт задаётся аргументом -p:

    ps aux | grep feedog_srv
    

  2. Подключиться к управляющему порту можно с помощью утилиты cpsh.

  3. Выполните kill_bat_all -delay <delay_milliseconds>. delay указывать исходя из нагрузки. Значение по умолчанию (если не указать ключ -delay) — 256:

    cpsh 4331
    im:feedog_srv-a01.1% kill_bat_all
    
  4. Просмотрите логи сервиса Feedog (просмотр логов — /oap/logs/feedog_srv-a01.<INSTANCE_NUMBER>.err):

    tail -f /oap/logs/feedog_srv-a01.1.err
    

    Операция сопровождается логированием сообщений вида BUCKY_DOMAIN: Dropping next bucket. Прекращение логирования подобных сообщений соответствуют окончанию операции.

    Важно

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

Шаг 4. В каждом инстансе сервиса Boss:

  1. Определите управляющий порт инстанса командой ps aux | grep bos_srv. Порт задаётся аргументом -p:

    ps aux | grep bos_srv
    

  2. Подключиться к управляющему порту можно с помощью утилиты cpsh.

  3. Выполните kill_bat_all -delay <delay_milliseconds>. delay указывать исходя из нагрузки. Значение по умолчанию (если не указать ключ -delay) — 256:

    cpsh 4323
    im:bos_srv-a01.1% kill_bat_all -delay 1000
    
  4. Просмотрите логи сервиса Boss (просмотр логов — /oap/icq/logs/bos_srv-a01.<INSTANCE_NUMBER>.err.log ):

    tail -f /oap/icq/logs/bos_srv-a01.1.err.log
    

    Операция сопровождается логированием сообщений вида BUCKY_DOMAIN: Dropping next bucket. Прекращение логирования подобных сообщений соответствуют окончанию операции.

    Важно

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

Шаг 5. Верните в исходное состояние уровень логирования в сервисе Cox.

Настроить витрину чатов

В витрине отображаются чаты в зависимости от региона пользователя, который вычисляется по геолокации IP-адресов.

Для конфигурации витрины чатов необходимо получить доступ по SSH к машине, на которой запущен сервис Chatexpo:

  1. Проверить, что подключились к машине, на которой запущен сервис Chatexpo:

    pgrep -a chatexpo
    6442 /usr/local/bin/chatexpo -c /usr/local/etc/chatexpo-1.conf -l 2 -o /oap/icq/logs/chatexpo-1.log
    
  2. Получить доступ к командному порту сервиса Chatexpo:

    sudo rg compot /usr/local/etc/chatexpo-1.conf
    49:# compot
    50:compot_bind 127.0.0.1:4523
    
  3. Подключиться к командному порту:

    rlwrap nc 127.0.0.1 4523
    

Далее можно приступать к конфигурации витрины чатов.

Добавить чат в витрину

  1. Для добавления чата в витрину выполнить:

    app.tnt.region_chats.add RU 1@chat.agent 1
    status=0, reason=ok
    
  2. Проверить в клиентском приложении, что чат добавлен.

Удалить чат из витрины

  1. Для удаления чата из витрины выполнить:

    app.tnt.region_chats.remove RU 1@chat.agent
    status=0, reason=ok
    
  2. Проверить в клиентском приложении, что чат удален.

Сменить порядок чатов в витрине

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

Предположим, в витрине отображаются 3 чата, например:

app.tnt.region_chats.add RU 1@chat.agent 1
status=0, reason=ok
app.tnt.region_chats.add RU 14@chat.agent 2
status=0, reason=ok
app.tnt.region_chats.add RU 26@chat.agent 3
status=0, reason=ok

и необходимо поставить третий чат на первое место, первый на второе и второй на третье.

Для этого необходимо:

  1. Удалить первый и третий чаты:

    app.tnt.region_chats.remove RU 1@chat.agent
    status=0, reason=ok
    app.tnt.region_chats.remove RU 26@chat.agent
    status=0, reason=ok
    
  2. Добавить удаленные чаты заново в нужном порядке:

    app.tnt.region_chats.add RU 26@chat.agent 1
    status=0, reason=ok
    app.tnt.region_chats.add RU 1@chat.agent 2
    status=0, reason=ok
    
  3. Проверить, что чаты добавились:

    app.tnt.region_chats.list RU
    status=0, reason=ok
    {"id":"26@chat.agent","pos":1}
    {"id":"1@chat.agent","pos":2}
    {"id":"14@chat.agent","pos":3}
    

    Второй чат сам сдвинется на третье место.

  4. Проверить порядок чатов в клиентском приложении.

Удалить всю витрину

  1. Проверить, какие чаты добавлены в витрину:

    app.tnt.region_chats.list RU
    status=0, reason=ok
    {"id":"26@chat.agent","pos":1}
    {"id":"1@chat.agent","pos":2}
    {"id":"14@chat.agent","pos":3}
    {"id":"2@chat.agent","pos":5}
    {"id":"3@chat.agent","pos":6}
    {"id":"1586@chat.agent","pos":7}
    {"id":"1585@chat.agent","pos":8}
    {"id":"1587@chat.agent","pos":9}
    {"id":"1787@chat.agent","pos":10}
    
  2. Удалить чаты по одному:

    app.tnt.region_chats.remove RU 26@chat.agent
    status=0, reason=ok
    app.tnt.region_chats.remove RU 1@chat.agent
    status=0, reason=ok
    app.tnt.region_chats.remove RU 14@chat.agent
    status=0, reason=ok
    app.tnt.region_chats.remove RU 2@chat.agent
    status=0, reason=ok
    app.tnt.region_chats.remove RU 3@chat.agent
    status=0, reason=ok
    app.tnt.region_chats.remove RU 1586@chat.agent
    status=0, reason=ok
    app.tnt.region_chats.remove RU 1587@chat.agent
    status=0, reason=ok
    app.tnt.region_chats.remove RU 1787@chat.agent
    status=0, reason=ok
    app.tnt.region_chats.remove RU 1585@chat.agent
    status=0, reason=ok
    app.tnt.region_chats.list RU
    status=0, reason=ok
    
  3. Проверить в клиентском приложении, что витрина удалена.

Включить функциональность папок в Мессенджере

Максимальное количество папок по умолчанию — 10. Папки синхронизируются между всеми активными сессиями и платформами.

Чтобы включить отображение папок в клиентском приложении, необходимо:

  1. Укажите в конфигурационном файле /usr/local/nginx-im/html/myteam/myteam-config.json значение true для секции folders-enabled:

    {
      "api-version": 112,
      "archive-enabled": true,
      "folders-enabled": true,
      // 
    }
    
  2. Для инсталляции на одну виртуальную машину выполните команду:

    HELMWAVE_USE_LOCAL_REPO_CACHE=true hwup -t godmod
    

    Для кластерной инсталляции:

    HELMWAVE_USE_LOCAL_REPO_CACHE=true HELMWAVE_ENV_NAME=cluster hwup -t godmod
    
  3. Перезапустите под в технологическое окно (может приводить к сбою в новых подключениях):

    kubectl delete pods -n vkteams -l app=myteam-admin
    

Отключить возможность закреплять сообщения в личных чатах

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

  1. Укажите в конфигурационном файле /usr/local/nginx-im/html/myteam/myteam-config.json значение false для параметра personal-messaging-pins-enabled:

    "personal-messaging-pins-enabled": false
    
  2. Для инсталляции на одну виртуальную машину выполните команду:

    HELMWAVE_USE_LOCAL_REPO_CACHE=true hwup -t godmod
    

    Для кластерной инсталляции:

    HELMWAVE_USE_LOCAL_REPO_CACHE=true HELMWAVE_ENV_NAME=cluster hwup -t godmod
    
  3. Перезапустите под в технологическое окно (может приводить к сбою в новых подключениях):

    kubectl delete pods -n vkteams -l app=myteam-admin
    

Примечание

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

Отключить синхронизацию черновиков между клиентскими приложениями

Начиная с версии Мессенджер и ВКС 25.2 вы можете отключить синхронизацию черновиков сообщений между клиентскими приложениями одного пользователя, чтобы исключить утечку данных. После отключения синхронизации черновики продолжат работать в рамках одного клиентского приложения.

Чтобы отключить синхронизацию черновиков:

  1. В конфигурационном файле /usr/local/nginx-im/html/myteam/myteam-config.json установите для поля draft-enabled значение false.

  2. Для инсталляции на одну виртуальную машину выполните команду:

    HELMWAVE_USE_LOCAL_REPO_CACHE=true hwup -t godmod
    

    Для кластерной инсталляции:

    HELMWAVE_USE_LOCAL_REPO_CACHE=true HELMWAVE_ENV_NAME=cluster hwup -t godmod
    
  3. Перезапустите под в технологическое окно (может приводить к сбою в новых подключениях):

    kubectl delete pods -n vkteams -l app=myteam-admin