Страница 1 из 1
Получить список пользователей из определенной группы и узнать кто в группе онлайн?

Добавлено:
Пн май 28, 2018 4:28 pm
ЛёнькаЩелкунов
Собственно вопрос в заголовке) Пытаюсь написать модуль для битрикс (php). Что требуется сделать:
1. Получить список доступных групп;
2. При выборе группы, показать список пользователей;
3. При выборе пользователей, получить список тех кто онлайн;
Для чего мне это надо, хочу сделать обратную связь для сайта. Стандартная не устраивает, хотя бы потому, что при спиское даже из трех человек, может сообщение с чата отправить тому кто оффлайн!
Как мне получить пункты 1, 2, 3?
Re: Получить список пользователей из определенной группы и узнать кто в группе онлайн?

Добавлено:
Вт май 29, 2018 5:04 pm
Алексей Пикуров
Здравствуйте. Добавим необходимые функции в IntegrationAPI, отпишу в этой теме. Переношу тему в раздел "Боты, плагины, скрипты и разные дополнения".
Re: Получить список пользователей из определенной группы и узнать кто в группе онлайн?

Добавлено:
Вт май 29, 2018 5:10 pm
ЛёнькаЩелкунов
Как скоро это будет добавлено? И будет ли качественный гайд по API?
Re: Получить список пользователей из определенной группы и узнать кто в группе онлайн?

Добавлено:
Вт май 29, 2018 5:27 pm
Алексей Пикуров
В ближайшие дни. Скоро выход новой версии.
И будет ли качественный гайд по API?
Справка постоянно дополняется. Добавленные функции будут там описаны. Вы это имеете в виду?
Re: Получить список пользователей из определенной группы и узнать кто в группе онлайн?

Добавлено:
Вт май 29, 2018 5:28 pm
Алексей Пикуров
P.S. Зайдите в свой профиль в форуме и укажите существующий email, иначе не будете получать уведомления о сообщениях.
Re: Получить список пользователей из определенной группы и узнать кто в группе онлайн?

Добавлено:
Вт май 29, 2018 5:41 pm
ЛёнькаЩелкунов
Еще такой вопрос! Как правильно использовать команды, допустим получить количество пользователей, подключенных в данный момент к серверу (онлайн)?
Сама команда.
006В cs_get_connected_users_count
После не большого колдовства, отправляемый запрос должен быть таким?
007748006В
Re: Получить список пользователей из определенной группы и узнать кто в группе онлайн?

Добавлено:
Вт май 29, 2018 5:46 pm
Алексей Пикуров
Вы путаете открытый протокол MyChat и команды IntegrationAPI.
В первом случае вам придётся делать функционал MyChat Client, хотя бы минимальный, для подключения к серверу, удержания коннекта и авторизации.
Во втором случае — ничего этого не нужно. Подключился, отправил/получил данные, отключился. Стандартный REST.
Пример на php
Re: Получить список пользователей из определенной группы и узнать кто в группе онлайн?

Добавлено:
Вт май 29, 2018 5:58 pm
ЛёнькаЩелкунов
Не подскажите где ознакомиться более подробно по работе с Integration API через REST? Здесь совсем уныло
https://nsoft-s.com/mcserverhelp/index. ... ionapi.htm, как получить ответ от оператора хотя бы? Вопросов много, ответов нет. На форуме тоже не густо.
Re: Получить список пользователей из определенной группы и узнать кто в группе онлайн?

Добавлено:
Вт май 29, 2018 6:03 pm
Алексей Пикуров
На форуме ознакомиться. Что вы сейчас и делаете. Ответ от оператора через IntegrationAPI вы не получите. Он не для этого разрабатывался. Это легкий API, для быстрого получения либо отправки данных, одиночными командами.
Если вы хотите делать свой чат на сайт вместо того, что есть у нас, вам нужно работать напрямую с протоколом MyChat. Описание у вас есть, общая схема работы описана в начале файла протокола.
Re: Получить список пользователей из определенной группы и узнать кто в группе онлайн?

Добавлено:
Вт май 29, 2018 6:15 pm
Андрей Раков
Добрый день.
Получается, что вас не устраивает веб-сапорт только тем, что он открывает чат с конкретным пользователей, а не с кем-то, кто онлайн?
Вы сейчас просите нас повторить часть нашего протокола в виде REST запросов, не думаю, что это разумно.
Re: Получить список пользователей из определенной группы и узнать кто в группе онлайн?

Добавлено:
Вт май 29, 2018 6:50 pm
ЛёнькаЩелкунов
Ваш чат к сожалению может открыть диалог с тем кто офлайн! В этом проблема.
Re: Получить список пользователей из определенной группы и узнать кто в группе онлайн?

Добавлено:
Вт май 29, 2018 7:01 pm
Андрей Раков
Да, а какие еще есть препятствия для его использования в вашем случае?
Re: Получить список пользователей из определенной группы и узнать кто в группе онлайн?

Добавлено:
Вт май 29, 2018 7:09 pm
ЛёнькаЩелкунов
В целом нет препятствий, но чат с офлайн оператором, огромный минус который мешает жить! И надо что-то делать, а времени в обрез! Вот собственно и хотел уточнить как средствами вашего API можно всё это сделать? А чат у вас хороший, покупали на 70 пользователей. Всё устраивает, всё классно. Еще бы трабл с офлайн оператором обойти как то)
Re: Получить список пользователей из определенной группы и узнать кто в группе онлайн?

Добавлено:
Вт май 29, 2018 7:19 pm
Андрей Раков
Хорошо, теперь картина прояснилась.
Мы подготовим PHP скрипт, который выполнит проверку, кто из списка пользователей (список будете определять вы) онлайн и подставит их в веб-сапорт, чтобы чат открылся с пользователем в сети.
Таким образом посетитель сайта:
- входит на страницу;
- нажимает кнопку чата;
- выполняется PHP скрипт проверки;
- подставляется UIN оператора в сети;
- чат откроется с этим пользователем.
Думаю, завтра выложу его в это теме.
Re: Получить список пользователей из определенной группы и узнать кто в группе онлайн?

Добавлено:
Вт май 29, 2018 7:32 pm
ЛёнькаЩелкунов
Круто! Спасибо большое!
Re: Получить список пользователей из определенной группы и узнать кто в группе онлайн?

Добавлено:
Ср май 30, 2018 2:20 pm
Андрей Раков
Сделали скрипт проверки и перехода в веб-сапорт.
mcUserCheck.zip
Настройка PHP скрипта:
Код: Выделить всё<?php
// Параметры подключения:
// адрес сервера
$host = 'mychat-server.com';
// порт веб-сервера
$portWEB = '443';
// шифрование на веб-сервере
$isUseHttps = true;
// список UIN-ов пользователей, через запятую
$UINS = "15427,3,5454,6,13041";
// IntegrationAPI ключ
$integrationAPIKey = 'iddqd';
HTML код крайне прост, вставьте его где-то на странице:
Код: Выделить всё<form method="POST" action="/путь_к_скрипту/mcUserCheck.php">
<input type="submit" value="Открыть чат">
</form>
Внешний вид кнопки вы можете настроить пока самостоятельно.
Но есть одна неприятность — мы выяснили, что в 6.8 не работает REST функция проверки пользователя онлайн ли он, так что увидеть работу этого функционала можно в новой версии.
Новая версия уже на подходе, совсем немного осталось!
Re: Получить список пользователей из определенной группы и узнать кто в группе онлайн?

Добавлено:
Ср май 30, 2018 6:56 pm
ЛёнькаЩелкунов
Скрипт работает, но такой трабл наблюдается. Когда проверял первый раз веб чат, новому пользователю был присвоен UIN = 83. В другом браузере всё нормально. Потом этот тестовый пользователь был удален и сейчас если я пытаюсь открыть чат, то вылазит ошибка #17. Как быть в этой ситуации. И еще один вопрос, можно ли как то сделать чтоб чат открывался не в новом окне, а на той же странице?
Re: Получить список пользователей из определенной группы и узнать кто в группе онлайн?

Добавлено:
Ср май 30, 2018 7:16 pm
Андрей Раков
Какая у вас версия чата?
Да логично, если пользователь удален — вы получите эту ошибку, не вижу проблемы. Возможно я вас не правильно понял, объясните как-то иначе.
Открывать ссылку вы можете как угодно — скрипты у вас на руках.
Re: Получить список пользователей из определенной группы и узнать кто в группе онлайн?

Добавлено:
Ср май 30, 2018 7:24 pm
ЛёнькаЩелкунов
Версия 6.1.0.209
Re: Получить список пользователей из определенной группы и узнать кто в группе онлайн?

Добавлено:
Пт июн 01, 2018 12:41 pm
ЛёнькаЩелкунов
Здравствуйте! Подскажите, можно ли через сокеты получить список пользователей из группы "Веб поддержки", ручное добавление UIN в скрипт не лучшее решение, т.к. люди которые работают в той организации не смогут это делать самостоятельно! А люди в веб поддержке могут меняться как перчатки! Было бы хорошо, чтоб в админ панеле можно было этот список формировать и получать список UIN оттуда. Понимаю, что достал уже с вопросами, но это действительно важно!
Re: Получить список пользователей из определенной группы и узнать кто в группе онлайн?

Добавлено:
Пт июн 01, 2018 12:52 pm
Андрей Раков
Добрый день.
Да, это можно сделать.
Сейчас в админке сервера есть инструмент "Веб-поддержка на сайт", там формируются группы операторов, мы добавим отображение индекса групп, чтобы по нему можно было выполнить запрос и получить список юзеров.
Но вы должны понимать, что данный функционал будет только в новой версии и нужно будет обновиться

Re: Получить список пользователей из определенной группы и узнать кто в группе онлайн?

Добавлено:
Пт июн 01, 2018 12:57 pm
ЛёнькаЩелкунов
Это понятно! А как скоро выйдет обновление, через месяц, два? И такой момент, можно ли к имени клиента, который пишет в чат с сайта, добавить префикс например "Веб клиент"
Re: Получить список пользователей из определенной группы и узнать кто в группе онлайн?

Добавлено:
Пт июн 01, 2018 1:07 pm
Андрей Раков
Новая версия будет на следующей неделе, версия 7.0.
Переименование можно сделать в разделе "Инструменты" - "Скрипты", событие "OnRegistered". Пример скрипта дадим чуть позже.
Пожалуйста, создавайте отдельные темы для разных вопросов, не лепите все в одну.
Re: Получить список пользователей из определенной группы и узнать кто в группе онлайн?

Добавлено:
Пт июн 01, 2018 4:06 pm
Алексей Пикуров