Добрый день, форумчане!
Пытаюсь создать свой провайдер для работы с чатом. Вот по этой статье.
Получить сообщения проблем не вызывает. Но при отправке, ошибка.
Полез в дебаг, и обнаружил что при отправке сообщения. Source устанавливает в признак 2 - сторонний разработчики. Имя канала пусто. Хотя сам id моего канала есть.
{
Facebook = 0,
Telegram = 1,
ThirdParty = 2,
WhatsApp = 3
}
Происходит попытка собрать worker для ThirdParty. Но так как его нет, а есть мой канал Test. Отправка падает.
Если при получении сообщения я задаю канал прям в ChannelName. От при отправке из фронта в обратную сторону. такого параметра я не вижу. Теоретически имя канало должно вытягиваться из провайдера канал или самого имени канала. Но такого кода в методе public OmnichannelMessagingServiceResponse SendMessage(MessagingMessage message)
Уже перелопатил весь код. Не могу найти ответ. Либо это не доработка террасофта, либо я чего то не понимаю.
При получении сообщения мы задаем канал вот тут
ChannelId = message.ChannelId,
MessageDirection = MessageDirection.Incoming,
MessageType = messageType,
// Указывает на источник канала (сторонние разработчики).
Source = ChannelType.ThirdParty,
// Имя провайдера. В дальнейшем будет использоваться как идентификатор провайдера.
ChannelName = "Test"
сам тип ChannelType зашит в библиотеке, я конечно могу ее открыть и добавить свой тип, и ее использовать, но это не похоже на нормальную работы с решением террасофта.
Будьте добры. помогите с вопросом. Код прошерстил. Связь в коде нашел только с Source. ChannelName при вызове SendMessage приходит пустой.
При дебаге я подменил значение ChannelName на Test. все заработало. Но кода для заполнения канала нет. В том числе и со стороны фронта. Где бы это могло храниться, не нашел так же. Нашел все связи OmniChat и прочее.
В общем я в тупике. помогите если кто то в теме!