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 Microsoft Copilot Studio'yu kullanmayı göz önünde bulundurun ve doğru copilot çö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üşe izin vermesi gerekir, aksi takdirde Bağlayıcı hizmeti 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);
}
}