Botframework — обновление приветственного сообщения, отправленного из OnMembersAddedAsync

#botframework

#botframework

Вопрос:

У меня есть простой бот-фреймворк, используемый в командах. Это персональный бот, который пишет короткое приветственное сообщение при первом добавлении его пользователем. Я не разрешаю пользователю писать боту (это бот-уведомление).

Однако теперь я хочу обновить исходное приветственное сообщение, но для пользователей, которые его уже получили, OnMembersAddedAsync метод больше никогда не вызывается.

Как мне обойти получение нового обновленного приветственного сообщения для всех пользователей бота?

Я вижу, что могу удалить бота, присвоить ему новый идентификатор и установить его снова. Но это похоже на большую работу.

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

Нет ли способа инициироваться, когда пользователи снова открывают это с помощью бота?

Ответ №1:

Этот метод не может быть запущен снова. Команды ведут свою собственную историю, и она привязана к идентификатору бота. Единственный способ сбросить его — полностью удалить бота, что является плохим планом.

Вы изучали упреждающий обмен сообщениями? Вы можете запустить одноразовое упреждающее сообщение, которое ВЫГЛЯДИТ как приветственное сообщение, но таковым не является.

Комментарии:

1. Да, я знаю о упреждающих сообщениях, я просто надеялся, что смогу исправить свою ошибку, не использовав их с самого начала. Однако, как бы вы запустили упреждающее сообщение в качестве приветственного сообщения, все еще используя перехват OnMembersAdded? Или с помощью ConversationUpdated, используя мое собственное управление состоянием