#botframework
#botframework
Вопрос:
У меня есть простой бот-фреймворк, используемый в командах. Это персональный бот, который пишет короткое приветственное сообщение при первом добавлении его пользователем. Я не разрешаю пользователю писать боту (это бот-уведомление).
Однако теперь я хочу обновить исходное приветственное сообщение, но для пользователей, которые его уже получили, OnMembersAddedAsync
метод больше никогда не вызывается.
Как мне обойти получение нового обновленного приветственного сообщения для всех пользователей бота?
Я вижу, что могу удалить бота, присвоить ему новый идентификатор и установить его снова. Но это похоже на большую работу.
Я думаю, если бы я сохранил ActivityId из исходного сообщения, он мог бы отредактировать сообщение, но я этого не сделал, так что это неосуществимое решение.
Нет ли способа инициироваться, когда пользователи снова открывают это с помощью бота?
Ответ №1:
Этот метод не может быть запущен снова. Команды ведут свою собственную историю, и она привязана к идентификатору бота. Единственный способ сбросить его — полностью удалить бота, что является плохим планом.
Вы изучали упреждающий обмен сообщениями? Вы можете запустить одноразовое упреждающее сообщение, которое ВЫГЛЯДИТ как приветственное сообщение, но таковым не является.
Комментарии:
1. Да, я знаю о упреждающих сообщениях, я просто надеялся, что смогу исправить свою ошибку, не использовав их с самого начала. Однако, как бы вы запустили упреждающее сообщение в качестве приветственного сообщения, все еще используя перехват OnMembersAdded? Или с помощью ConversationUpdated, используя мое собственное управление состоянием