#botframework #microsoft-teams
#botframework #microsoft-команды
Вопрос:
Я пишу бота, используя библиотеку npm botbuilder. Я хочу использовать proactive-messages для отправки уведомлений пользователю в окне личного чата.
Используя следующий код для извлечения ссылки на диалог:
const conversationRef: Partial<ConversationReference> = TurnContext.getConversationReference(activity);
Теперь, когда я пытаюсь использовать ссылочный объект, возвращенный выше, в качестве аргумента в следующей функции:
await adapter.continueConversation(convReference, async turnContext => {
// If you encounter permission-related errors when sending this message, see
// https://aka.ms/BotTrustServiceUrl
await turnContext.sendActivity('This is a proactive notification');
});
Я получаю следующую ошибку:
ошибка TS2741: свойство ‘name’ отсутствует в типе ‘{ id: string; aadObjectId: string; }’, но требуется в типе ‘ChannelAccount’.
Неправильно ли пытаться отправлять упреждающие уведомления в личный чат? Или есть обходной путь для этого.
Я использую npm botbuilder V4.10.4
Комментарии:
1. ОБНОВЛЕНИЕ — я только что добавил
@ts-ignore
инструкцию вышеadapter.continueConversation
и не столкнулся с проблемами во время выполнения.2. Вам необходимо использовать словарь зависимостей для хранения объектов ConversationReference, используемых в NotifyController, чтобы активно отправлять сообщения пользователям. Не могли бы вы, пожалуйста, проверить эти документы . Не могли бы вы, пожалуйста, проверить этот код на наличие упреждающего сообщения ? Попробуйте, если это поможет.
3. @Nikitha-MSFT — моя проблема не в том, где хранить ссылки, я храню их в Cosmos. Однако в объектах, возвращаемых TurnContext.getConversationReference(activity), отсутствуют некоторые поля, которые являются обязательными в соответствии с файлом Typescript typings для ConversationReference (конкретные поля упомянуты в моем вопросе). Однако даже с этими отсутствующими полями уведомления работают нормально. Итак, я просто отключил проверку типов с помощью ts-ignore, и это сработало нормально.