Microsoft.Bot.Connector — адрес «Кому» относится к {}, который не является известным

Я разрабатываю бота для использования с каналом электронной почты (Office 365).

Я изо всех сил пытаюсь реализовать начало нового разговора с пользователем, т.е. бот должен инициировать разговор с пользователем (пользователями) после получения определенных триггеров.

Я ссылаюсь на пример, доступный на http://docs.botframework.com/.

    var connector = new ConnectorClient();

    Message newMessage = new Message();
    newMessage.From = new ChannelAccount() {  Address = "[email the bot is registered with]", Name = "Awesome Bot", ChannelId = "email", IsBot = true };
    newMessage.To = new ChannelAccount() {  Address = user.Email, Name = $"{ user.FirstName } {user.LastName}", ChannelId = "email", IsBot = false };
    newMessage.Text = message;
    newMessage.Language = "en";

    connector.Messages.SendMessage(newMessage);

Бот работает в Azure и зарегистрирован в платформе. Когда я вызываю приведенный выше код, похоже, что коннектор отправляет запрос на api.botframework.com, но получает код состояния 404 в ответ. Я также вижу следующее сообщение об ошибке:

Адрес Кому относится к [электронной почте пользователя], который не известен

Вроде ошибка обрезается. Я не уверен, что я делаю неправильно здесь.


person Oleg B    schedule 12.04.2016    source источник


Ответы (1)


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

person T Laird-McConnell    schedule 13.04.2016
comment
К сожалению, было бы очень сложно опубликовать что-либо в каталоге, если это нельзя полностью протестировать. Не лучше ли было бы установить разумный предел количества участников? Это ограничение применимо только к каналу электронной почты? Мне нужно найти способ, с помощью которого бот может связаться с подписчиками по установленному расписанию, и я предполагаю, что не могу просто сохранить идентификатор разговора и использовать его повторно каждый раз, когда бот хочет связаться с подписчиком. Любая идея, как я могу реализовать (и протестировать) запуск разговоров через канал электронной почты? Спасибо за заранее! - person Oleg B; 15.04.2016
comment
@OlegB ты в конце концов понял это? - person MasterScrat; 17.05.2017
comment
Это уже постфактум, поэтому @OlegB, вероятно, больше не пригодится, но я бы не был так уверен, что вы не можете просто сохранить и повторно использовать беседу. Я использую канал Facebook, а не электронную почту, но, по крайней мере, в моем случае это более или менее то, как обрабатываются упреждающие сообщения — путем повторного использования сохраненной информации из старого разговора. - person Sam Hanley; 21.11.2017