Merhaba arkadaşlar,
Ben bu yazımda ben direkt olarak kurulumunu ve kullanımını anlatacağım. Microsoft Bot Framework nedir ne değildir bilmeyen arkadaşlar bu yazıyı okuyabilirler.
Kurulum
1- Visual Studio eklentilerini ve componentlerini güncellememiz gerekiyor. Bu yolu izleyerek güncelleyebilirsiniz:Tools > Extensions and Updates > Updates
Güncellemleri yapıp Visual Studio’yu kapatıyoruz.
2- Bot Application, Bot Controller ve Bot Dialog dosyalarını indiriyoruz.
3- Çalıştırı açıyoruz(Windows + r) şu yolu yazıp:
%USERPROFILE%\Documents\Visual Studio 2017\Templates\ProjectTemplates\Visual C#\ klasörü açıyoruz.
İndirdiğimiz 3 adet .zip dosyasını buraya atıyoruz. (Zipten çıkartmadan atılır.)
4- Visual Studio’yu açıp bot projesi oluşturuyoruz.
5- NuGet Package Managerı açıp browse kısmına Microsoft.Bot.Builder yazıp aratıyoruz. Yüklü gelmiş olması lazım. Değilse yüklüyoruz. Yüklüyse güncelleme varsa güncelliyoruz.
Tools > NuGet Package Manager > Manage NuGet Package for solution > Browse : Microsoft.Bot.Builder
Evet şuan build etme aşamasını tamamladık.
Projeyi build edip tarayıcı başlattığımızda aşağıda ki gibi bir ekranla karşılaştıysak bu adımları başarılı bir şekilde bitirmişiz demektir.
6- Şimdi sıra geldi Emulator yüklemeye.
Burada ki Bot Framework – Emulator ‘u indirip yüklüyoruz. Kurulumunda bir şey yok next next deyip geçiyoruz.
Kurulum bitip exeyi çalıştırdığımızda şöyle bir ekran gelir;
Bizim şimdilik kullanacağımız yer URL kısmı. Projeyi çalıştırdığımızda oluşan URL’yi kopyalıp sonuna api/messages yazıp entera basıyoruz. Diğer tüm alanlar boş kalsa olur.
Benim projeme göre URL şu şekilde : http://localhost:3979/api/messages
Bunu yazıp entera bastığımda bağlantının sağlandığını görebilirsiniz.
Şuan kodda hiç bir değişiklik yapmadığımız için ekrana ne yazarsak cevap olarak karakter sayısını söylüyor.
Evet arkadaşlar kurulum işlemleri bu kadar.
Projeyi durdurup inceleyelim ve bir kaç değişiklik yapalım.
Biz bir şeyler yazıp cevap döndüğü yer Dialog > RootDialog.cs classıdır. Bu classın içinde aşağıda ki method bulunuyor, burada bize cevap dönüyor. Bizim yazıp gönderdiğimiz değeri activity.Text içerisinde tutuyor.
private async Task MessageReceivedAsync(IDialogContext context, IAwaitable<object> result) { var activity = await result as Activity; // calculate something for us to return int length = (activity.Text ?? string.Empty).Length; // return our reply to the user await context.PostAsync($"You sent {activity.Text} which was {length} characters"); context.Wait(MessageReceivedAsync); }
Şimdi bu kodları(MessageReceivedAsync methodunu) aşağıda ki gibi güncelleyelim;
var activity = await result as Activity; string reply = string.Empty; //// calculate something for us to return //int length = (activity.Text ?? string.Empty).Length; switch (activity.Text) { case "Hi": reply = "Hi, welcome."; break; case "Hello": reply = "Hello, welcome."; break; case "Selam": reply = "Selam kardeş, hoş geldin."; break; case "Merhaba": reply = "Merhaba kardeş, hoş geldin."; break; default : reply = "Üzgünüm bunu anlayamadım..."; break; } // return our reply to the user await context.PostAsync($"CEVAP : "+reply+""); context.Wait(MessageReceivedAsync);
Build edip run edelim > Bot bağlantısını tekrar yapalım ve deneyelim.
Çıktı;
İşlemler bu kadar. Umarım yardımcı olmuşumdur.
Teşekkürler.
Yararlı kaynaklar :
https://docs.microsoft.com/en-us/bot-framework/dotnet/bot-builder-dotnet-quickstart
http://guvensahin.com/microsoft-bot-framework-ile-bot-yapimi/
Microsoft bot framework ile oluşturduğumuz botu facebook a bağladığımızda verileri (kullanıcı bilgileri, ne yazdığı gibi.) nereye kaydediyor o datalara nasıl ulaşabiliyoruz. Ve bu botu geliştirmek için yazılan metinlerin cevabı yoksa bunları kaydediyor mu?
Merhaba,
Facebook ile ilgili maalesef bilgim yok. Benim bildiğim Bot framework Runtime çalışıyor, bir yere kaydetmiyor.
Yani kullanıcı bir şey yazıyor, siz arkada bunu yakalayıp cevabı veriyorsunuz ve bitiyor. İşlemler anlık çalışıyor.
İyi çalışmalar.