Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
SI APPLICA A: SDK v4
Il modo principale in cui il bot comunicherà con gli utenti, e allo stesso modo riceverà le comunicazioni, è tramite attività di messaggistica. Alcuni messaggi possono contenere solo testo normale, mentre altri possono contenere contenuti più avanzati, ad esempio schede o allegati. Il gestore turni del bot riceve messaggi dall'utente e da lì è possibile inviare risposte all'utente stesso. L'oggetto contesto di turno fornisce i metodi per inviare messaggi di risposta all'utente. Questo articolo descrive come inviare messaggi di testo normale.
La sintassi markdown è supportata per la maggior parte dei campi di testo, ma il supporto può variare a seconda del canale.
Per un bot in esecuzione che invia e riceve messaggi, seguire le guide introduttive nella parte superiore del sommario o vedere l'articolo sul funzionamento dei bot, che include anche collegamenti a esempi disponibili per l'esecuzione personale.
Nota
Per creare agenti con la scelta di servizi di intelligenza artificiale, orchestrazione e conoscenze, è consigliabile usare Microsoft 365 Agents SDK. Agents SDK supporta C#, JavaScript o Python. Per altre informazioni su Agents SDK , vedere aka.ms/agents. Se si sta cercando una piattaforma agente basata su SaaS, prendere in considerazione Microsoft Copilot Studio. Se si dispone di un bot esistente compilato con Bot Framework SDK, è possibile aggiornare il bot ad Agents SDK. È possibile esaminare le modifiche e gli aggiornamenti principali in Bot Framework SDK per le linee guida per la migrazione di Agents SDK. I ticket di supporto per Bot Framework SDK non verranno più gestiti a partire dal 31 dicembre 2025.
Invio di un SMS
Per inviare un sms, specificare la stringa da inviare come attività:
Nei gestori di attività del bot, utilizzare il metodo SendActivityAsync
dell'oggetto contesto di turno per inviare una singola risposta al messaggio. È anche possibile usare il metodo SendActivitiesAsync
dell'oggetto per inviare più risposte contemporaneamente.
await turnContext.SendActivityAsync($"Welcome!");
Ricevere un messaggio di testo
Per gestire un messaggio di testo, utilizzare la proprietà text dell'oggetto attività .
Nei gestori di attività del bot usare il codice seguente per ricevere un messaggio.
var responseMessage = turnContext.Activity.Text;
Inviare un indicatore di digitazione
Gli utenti si aspettano una risposta tempestiva ai messaggi. Se il bot esegue alcune attività con esecuzione prolungata, ad esempio una chiamata a un server o una query, senza fornire all'utente alcuna indicazione sulla sua richiesta, l'utente potrebbe dimostrarsi impaziente e inviare messaggi aggiuntivi o dare semplicemente per scontato che il bot non funziona.
I bot dei canali Web Chat e Direct Line supportano l'invio di un'indicazione di digitazione per mostrare all'utente che il messaggio è stato ricevuto ed elaborato. Tuttavia, il bot deve lasciare che il turno venga terminato entro 15 secondi o che il servizio Connector si verifichi il timeout. Per i processi più lunghi, leggere altre informazioni sull'invio di messaggi proattivi.
L'esempio seguente illustra come inviare un'indicazione di digitazione tramite.
protected override async Task OnMessageActivityAsync(ITurnContext<IMessageActivity> turnContext, CancellationToken cancellationToken)
{
if (string.Equals(turnContext.Activity.Text, "wait", System.StringComparison.InvariantCultureIgnoreCase))
{
await turnContext.SendActivitiesAsync(
new Activity[] {
new Activity { Type = ActivityTypes.Typing },
new Activity { Type = "delay", Value= 3000 },
MessageFactory.Text("Finished typing", "Finished typing"),
},
cancellationToken);
}
else
{
var replyText = $"Echo: {turnContext.Activity.Text}. Say 'wait' to watch me type.";
await turnContext.SendActivityAsync(MessageFactory.Text(replyText, replyText), cancellationToken);
}
}