Здесь вы можете задать любые вопросы по MyChat, по работе программы, её настройке, лицензированию и т.д.
ВладимирРябов
Возможно я просто не понял как это сделать, ткните носом.

У меня есть N-бесед между пользователями (работают по API) и операторами (приложения на ПК).
Я могу через API отправлять сообщения от имени любого пользователя любому. Но мне надо в конкретную беседу, где я знаю UIN-ы обоих собеседников, отправить, так сказать, сервисное сообщение (не от имени какого-то пользователя, а от имени сервера).
Для понимания ситуации: у меня пользователи не только переписываются с операторами, но и получают сервисные сообщения. Пользователи переписываются через Telegram, VK и Viber, поэтому для них все выглядит, как переписка с конкретным нашим аккаунтом. Сервисные сообщения они получают так же от имени этого аккаунта. После получения сервисного сообщения они пишут нам сообщение, которое получает оператор, но оператор не видит сервисного сообещния, а пользователь его обычно не пересылает. Вот для таких случаев мне и надо в беседу отправлять что-то типа сервисного сообщения или комментария от имени сервера, что было отправлено пользователю. Да, я могу от имени пользователя написать оператору, что им было получено сервисное сообщение, но это не совсем красиво.
По сути, мы знаем UIN-ы обоих пользователей, но есть ли возможность в их переписку воткнуть сообщение от сервера, я так и не понял.
Аватара пользователя
Алексей Пикуров
Да, можно отправлять сервисные сообщения, но они не фиксируются в истории, если вы перезапустите клиент — эти сообщения исчезнут из диалога. Вас такое устроит?
ВладимирРябов
Нет, это не то, история для нас очень важна. Операторы ежедневно выключают компьютер.
Аватара пользователя
Алексей Пикуров
В таком случае отправляйте от имени робота, в отдельный диалог. В диалоге сообщение всегда от чьего-то имени. Это важно для диалогов, синхронизации на разных устройствах и других задач.
ВладимирРябов
Да, рассматривал этот вариант, но отдельный диалог неудобен.
Значит, буду отправлять от имени пользователя оператору с комментарием, что это сообщение получено пользователем от сервера (автоматическая рассылка), чтобы оператор был в курсе, если пользователь начнет задавать вопросы.

Я, как вариант, рассматривал создание конференций при общении операторов с пользователями, тогда туда можно было бы писать и от робота. Но, как я понимаю, по API конференция не создается?
Аватара пользователя
Алексей Пикуров
Ещё нет. Речь про Integration API или о серверных скриптах?
ВладимирРябов
Хмм, я имел ввиду создание конференции между пользователем и оператором по API.

А если бы была возможность создать между ними конференцию через серверный скрипт, запустив этот скрипт по API с передачей в него UIN пользователя и оператора?
Аватара пользователя
Алексей Пикуров
Так можно, только скриптовой функции для создания конференций ещё нет, можно сделать пока только присоединение в уже существующую конференцию (mJoinUserToConf).

Любой скрипт можно выполнить через REST-запрос, событие OnRequestByREST.
ВладимирРябов
Пока буду делать своим способом.
Но когда будет возможность в переписку отправлять сервисные сообщения с сохранением в истории, то будет "ВАЩЕ СУПЕР!"

P.S. ещё бы параметр, определяющий кому оно будет отправлено (одному из пользователей, обоим).
Вот такая идея для развития сервера [smilie=good.gif]
Аватара пользователя
Алексей Пикуров
Мы думали про такие сообщения, но пока отказались от них из-за вопросов по синхронизации и безопасности.