Извините, это длинновато.
У меня 2 версии моего бота:
Версия 1.0 - основана на бэкэнде Slack RTM. Это установили несколько сотен пользователей.
Версия 2.0 - на основе серверной части Microsoft Bot Framework (BF). несколько десятков пользователей установили эту версию с момента выпуска несколько дней назад.
Я обновил приложение My Slack до версии 2.0, чтобы использовать серверную часть Bot Framework вместо RTM, получил одобрение от Slack, и теперь все новые пользователи устанавливают версию 2.0 из магазина ботов Slack. Все хорошо, как и ожидалось.
Но как только новая версия приложения Slack была опубликована, я ожидал, что Slack разорвет соединение со старой серверной частью RTM и подключит ее к новой серверной части BF. Этого НЕ произошло, и мои несколько сотен пользователей все еще используют старую серверную часть RTM.
Обратился в службу поддержки Slack - они сказали мне, что это не может быть выполнено автоматически, и мне нужно инициировать соединение для уже аутентифицированных токенов из службы BF. Как я могу это сделать?
Я попытался получить информацию от одной из этих команд и попытался отправить сообщение, используя следующий код:
var connector = new ConnectorClient(new Uri("https://slack.botframework.com/"));
var conversation = new ConversationAccount(true, "B0JMAJ8C8:T0ANH2CG3:C0ANKNHU5");
var botAccount = new ChannelAccount("B0JMAJ8C8:T0ANH2CG3", "Grasp");
IMessageActivity message = Activity.CreateMessageActivity();
message.From = botAccount;
message.Conversation = conversation;
message.ChannelId = "slack";
message.Text = "Upgrade Test!";
message.Locale = "en-En";
connector.Conversations.SendToConversation((Activity)message);
Но SendToConversation () дает мне исключение:
Авторизация для Microsoft App ID 122dd7ca-xxxxx-xxxx-b679-c696e212987a завершилась неудачно с кодом состояния Запрещено
Есть ли другой способ принудительно установить соединение с BF без переустановки пользователями новой версии того же бота?
Заранее спасибо.