Aracılığıyla paylaş


Kısa mesaj gönderme ve alma

ŞUNLAR IÇIN GEÇERLIDIR: SDK v4

Botunuzun kullanıcılarla iletişim kurmasının ve benzer şekilde iletişim almasının birincil yolu ileti etkinlikleridir. Bazı iletiler yalnızca düz metin, bazıları ise kartlar veya ekler gibi daha zengin içerik içerebilir. Botunuzun sıra işleyicisi kullanıcıdan iletiler alır ve oradan kullanıcıya yanıt gönderebilirsiniz. Dönüş bağlamı nesnesi, kullanıcıya ileti göndermek için yöntemler sağlar. Bu makalede düz metin iletileri gönderme açıklanmaktadır.

Markdown çoğu metin alanında desteklenir, ancak destek kanala göre farklılık gösterebilir.

Çalışan bir botun ileti gönderip alması için içindekiler tablosunun en üstündeki hızlı başlangıçları izleyin veya botların nasıl çalıştığına ilişkin makaleye göz atın. Bu makale, kendi kendinize çalıştırabileceğiniz örneklere de bağlantı sağlar.

Not

Bot Framework JavaScript, C# ve Python SDK'ları desteklenmeye devam edecektir, ancak Java SDK'sı son uzun vadeli destek Kasım 2023'te sona erecek şekilde kullanımdan kaldırılacaktır.

Java SDK ile oluşturulan mevcut botlar çalışmaya devam edecektir.

Yeni bot derlemesi için Power Virtual Agents'ı kullanmayı göz önünde bulundurun ve doğru sohbet botu çözümünü seçme hakkında bilgi edinin.

Daha fazla bilgi için bkz . Bot oluşturmanın geleceği.

Kısa mesaj gönder

Kısa mesaj göndermek için etkinlik olarak göndermek istediğiniz dizeyi belirtin:

Bot'un etkinlik işleyicilerinde, tek bir ileti yanıtı göndermek için turn bağlam nesnesinin SendActivityAsync yöntemini kullanın. Aynı anda birden çok yanıt göndermek için nesnenin SendActivitiesAsync yöntemini de kullanabilirsiniz.

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

Kısa mesaj alma

Bir metin iletisini işlemek için etkinlik nesnesinin text özelliğini kullanın.

Bot'un etkinlik işleyicilerinde bir ileti almak için aşağıdaki kodu kullanın.

var responseMessage = turnContext.Activity.Text;

Yazma göstergesi gönderme

Kullanıcılar iletilerine zamanında yanıt bekler. Botunuz, kullanıcıya botu duyduğuna dair bir gösterge vermeden sunucu çağırma veya sorgu yürütme gibi uzun süre çalışan bir görev gerçekleştirirse, kullanıcı sabırsızlanabilir ve ek iletiler gönderebilir veya botunun bozuk olduğunu varsayabilir.

Web Sohbeti ve Direct Line kanal botları, kullanıcıya iletinin alındığını ve işlendiğini göstermek için bir yazma göstergesi gönderilmesini destekleyebilir. Ancak botunuzun 15 saniye içinde dönüşün sona ermesine izin vermeli, aksi takdirde Bağlan veya hizmet zaman aşımına uğrar. Daha uzun işlemler için proaktif iletiler gönderme hakkında daha fazla bilgi edinin.

Aşağıdaki örnek, yazma göstergesi göndermeyi gösterir.

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

Ek kaynaklar

Sonraki adımlar