Udostępnij za pośrednictwem


Wysyłanie i odbieranie wiadomości SMS

DOTYCZY: ZESTAW SDK w wersji 4

Podstawowym sposobem komunikowania się bota z użytkownikami i odbieraniem komunikacji jest działanie komunikatów . Niektóre wiadomości mogą zawierać tylko zwykły tekst, a inne mogą zawierać bogatszą zawartość, taką jak karty lub załączniki. Program obsługi kolei bota odbiera komunikaty od użytkownika i możesz wysłać odpowiedzi do użytkownika z tego miejsca. Obiekt kontekstu kolei udostępnia metody wysyłania komunikatów z powrotem do użytkownika. W tym artykule opisano sposób wysyłania wiadomości w postaci zwykłego tekstu.

Język Markdown jest obsługiwany w przypadku większości pól tekstowych, ale obsługa może się różnić w zależności od kanału.

Aby uruchomić bota wysyłającego i odbierającego komunikaty, postępuj zgodnie z przewodnikami Szybki start w górnej części spisu treści lub zapoznaj się z artykułem dotyczącym działania botów, który zawiera również linki do przykładów dostępnych do samodzielnego uruchomienia.

Uwaga

Zestawy SDK języka JavaScript, C# i Python platformy Bot Framework będą nadal obsługiwane, jednak zestaw SDK języka Java jest wycofywany z ostatecznym długoterminowym wsparciem kończącym się w listopadzie 2023 r.

Istniejące boty utworzone za pomocą zestawu JAVA SDK będą nadal działać.

W przypadku tworzenia nowego bota rozważ użycie agentów usługi Power Virtual Agents i przeczytaj o wyborze odpowiedniego rozwiązania czatbota.

Aby uzyskać więcej informacji, zobacz Przyszłość tworzenia botów.

Wysyłanie wiadomości tekstowej

Aby wysłać wiadomość SMS, określ ciąg, który chcesz wysłać jako działanie:

W programach obsługi działań bota użyj metody obiektu SendActivityAsync kontekstu turn, aby wysłać jedną odpowiedź komunikatu. Możesz również użyć metody obiektu do wysyłania SendActivitiesAsync wielu odpowiedzi jednocześnie.

await turnContext.SendActivityAsync($"Welcome!");

Odbieranie wiadomości SMS

Aby obsłużyć komunikat tekstowy, użyj właściwości text obiektu działania.

W programach obsługi działań bota użyj następującego kodu, aby otrzymać komunikat.

var responseMessage = turnContext.Activity.Text;

Wysyłanie wskaźnika wpisywania

Użytkownicy oczekują terminowej odpowiedzi na komunikaty. Jeśli bot wykonuje długotrwałe zadanie, takie jak wywoływanie serwera lub wykonywanie zapytania bez podawania użytkownikowi pewnego wskazania, że bot je usłyszał, użytkownik może uzyskać niecierpliwość i wysłać dodatkowe komunikaty lub po prostu założyć, że bot zostanie przerwany.

czat internetowy i boty kanału Direct Line mogą obsługiwać wysyłanie wskazania wpisywania, aby pokazać użytkownikowi, że wiadomość została odebrana i jest przetwarzana. Jednak bot musi pozwolić na zakończenie obrotu w ciągu 15 sekund lub przekroczenie limitu czasu usługi Połączenie or. W przypadku dłuższych procesów przeczytaj więcej na temat wysyłania proaktywnych komunikatów.

W poniższym przykładzie pokazano, jak wysłać wskazanie wpisywania.

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);
    }
}

Dodatkowe zasoby

Następne kroki