Actualizar y eliminar los mensajes enviados desde el bot

Importante

Los ejemplos de código de esta sección se basan en 4,6 y versiones posteriores del SDK de bot Framework. Si está buscando documentación para versiones anteriores, vea la sección SDK de bots-V3 en la carpeta recursos de la documentación.

Actualizar mensajes

En lugar de que los mensajes sean instantáneas estáticas de los datos, el bot puede actualizar de forma dinámica los mensajes después de enviarlos. Puede usar actualizaciones de mensajes dinámicas para escenarios como sondeos de actualizaciones, modificación de acciones disponibles después de presionar un botón o cualquier otro cambio de estado asincrónico.

El nuevo mensaje no tiene que coincidir con el original en el tipo. Por ejemplo, si el mensaje original contenía datos adjuntos, el nuevo mensaje puede ser un mensaje de texto simple.

Para actualizar un mensaje existente, pase un nuevo Activity objeto con el identificador de actividad existente al UpdateActivityAsync método de la TurnContext clase. Consulte TurnContextClass

var newActivity = MessageFactory.Text("The new text for the activity");
newActivity.Id = activityId;
await turnContext.UpdateActivityAsync(newActivity, cancellationToken);

Eliminación de mensajes

En el marco de bot, todos los mensajes tienen su propio identificador de actividad único. Los mensajes se pueden eliminar mediante el método del DeleteActivity marco de trabajo de bot, como se muestra aquí.

Para eliminar ese mensaje, pase el DeleteActivityAsync identificador de la actividad al método de la TurnContext clase. Consulte método TurnContext. DeleteActivityAsync

foreach (var activityId in _list)
{
    await turnContext.DeleteActivityAsync(activityId, cancellationToken);
}