Os exemplos de código nesta seção são baseados na versão 4.6 e versões posteriores do SDK da Estrutura de Bot. Se você estiver procurando documentação para versões anteriores, consulte a seção bots - V3 SDK na pasta Recursos da documentação.
Seu bot pode atualizar mensagens dinamicamente depois de enviá-las em vez de enviá-las como instantâneos estáticos de dados. As mensagens também podem ser excluídas usando o método DeleteActivity do Bot Framework.
Atualizar mensagens
Você pode usar atualizações de mensagens dinâmicas para cenários, como atualizações de votação, modificação de ações disponíveis após um pressionamento de botão ou qualquer outra alteração de estado assíncrona.
Não é necessário que a nova mensagem corresponda ao tipo original. Por exemplo, se a mensagem original contiver um anexo, a nova mensagem poderá ser uma mensagem de texto simples.
Para atualizar uma mensagem existente, passe um novo objeto Activity com a ID de atividade existente para o método UpdateActivityAsync da classe TurnContext. Para obter mais informações, consulte TurnContextClass.
var newActivity = MessageFactory.Text("The new text for the activity");
newActivity.Id = activityId;
await turnContext.UpdateActivityAsync(newActivity, cancellationToken);
Para atualizar uma mensagem existente, passe um novo objeto Activity com a ID de atividade existente para o método updateActivity do TurnContext objeto. Para obter mais informações, consulte updateActivity.
const newActivity = MessageFactory.text('The new text for the activity');
newActivity.id = activityId;
await turnContext.updateActivity(newActivity);
Para atualizar uma mensagem existente, passe um novo objeto Activity com a ID de atividade existente para o método update_activity da classe TurnContext. Consulte TurnContextClass.
new_activity = MessageFactory.text("The new text for the activity")
new_activity.id = activity_id
update_result = await context.update_activity(new_activity)
Observação
Você pode desenvolver aplicativos do Teams em qualquer tecnologia de programação da Web e chamar diretamente as APIs REST do serviço Bot Connector. Para fazer isso, você precisa implementar a Autenticação de segurança com suas solicitações de API.
Para atualizar uma atividade existente em uma conversa, inclua o conversationId e activityId no ponto de extremidade de solicitação. Para concluir esse cenário, você deve armazenar em cache a ID da atividade retornada pela pós-chamada original.
PUT /v3/conversations/{conversationId}/activities/{activityId}
Para atualizar o cartão existente em uma seleção de botão, passe um novo objeto Activity com cartão atualizado e ReplyToId como ID de atividade para o método UpdateActivityAsync da classe TurnContext. Consulte TurnContextClass.
var activity = MessageFactory.Attachment(card.ToAttachment());
activity.Id = turnContext.Activity.ReplyToId;
await turnContext.UpdateActivityAsync(activity, cancellationToken);
Para atualizar o cartão existente em uma seleção de botão, passe um novo objeto Activity com cartão atualizado e replyToId como ID de atividade para o método updateActivity do objeto TurnContext. Consulte updateActivity.
Para atualizar o cartão existente com um clique de botão, passe um novo objeto Activity com o cartão atualizado e o reply_to_id como ID de atividade para o método update_activity da classe TurnContext. Consulte TurnContextClass.
Você pode desenvolver aplicativos do Teams em qualquer tecnologia de programação da Web e chamar diretamente as APIs REST de serviço de conector de bot. Para fazer isso, você deve implementar a autenticação de segurança com suas solicitações de API.
Para atualizar uma atividade existente em uma conversa, inclua o conversationId e activityId no ponto de extremidade de solicitação. Para concluir esse cenário, você deve armazenar em cache a ID da atividade retornada pela pós-chamada original.
PUT /v3/conversations/{conversationId}/activities/{activityId}
Agora que você atualizou os cartões, pode excluir mensagens usando o Bot Framework.
Excluir mensagens
No Bot Framework, cada mensagem tem seu identificador de atividade exclusivo. As mensagens podem ser excluídas usando o método DeleteActivity do Bot Framework.
Para excluir uma mensagem, passe a ID da atividade para o DeleteActivityAsync da classe TurnContext. Para obter mais informações, consulte Método TurnContext.DeleteActivityAsync.
foreach (var activityId in _list)
{
await turnContext.DeleteActivityAsync(activityId, cancellationToken);
}
Para excluir uma mensagem, passe o ID dessa atividade para o método deleteActivity do objeto TurnContext. Para obter mais informações, consulte deleteActivity.
for (let i = 0; i < activityIds.length; i++) {
await turnContext.deleteActivity(activityIds[i]);
}
Para excluir essa mensagem, passe o ID dessa atividade para o método delete_activity do objeto TurnContext. Para obter mais informações, consulte activity-update-and-delete.
for each activity_id in _list:
await TurnContext.delete_activity(activity_id)
Para excluir uma atividade existente em uma conversa, inclua o conversationId e activityId no ponto de extremidade da solicitação.