ایجاد یک ربات ساده با استفاده از Microsooft Bot Framework

پنجشنبه 23 اردیبهشت 1395

در این مقاله یاد خواهید گرفت که چگونه یک ربات ساده با استفاده از Microsoft Bot Framework ، ایجاد کنیم. و همچنین با معنی Microsoft Bot Framework آشنا خواهید شد.

ایجاد یک ربات ساده با استفاده از Microsooft Bot Framework

Microsoft Bot Framework چیست؟

Bot Framework ، به صورت هوشمند ساخته شده است و از طریق تعامل با کاربر یاد می گیرد.تعامل با کاربر ، از طریق چت کردن ، Text/SMS با Skype  ، ایمیل، تلگرام ، SMS و... می تواند امکان پذیر باشد.

چگونه خودتان ، یک برنامه ربات ساده بسازید:

مراحل زیر به شما توضیح می دهد که چگونه یک برنامه ربات ساده با استفاده از Microsoft Bot Framework بسازید.

مرحله 1:

ابتدا شما باید تعدادی از نرم افزارهای مور نیاز را نصب کنید.

ویژوال استودیو 2015 ، Update 1

همچنین ، تمامی افزونه های ویژوال استودیو را به روش زیربه روزرسانی کنید .

tools > Extensions and Updates > Updates 

مرحله 2:

قالب برنامه ربات را از لینک داده شده دانلود کنید.  Bot Application Template

مرحله 3:

لینک بالا ، یک فایل ZIP را دانلود می کند ، این فایل ZIP را فقط در  :        “%USERPROFILE%\Documents\Visual Studio 2015\Templates\ProjectTemplates\Visual C#" ذخیره کنید.

مرحله 4:

حال ویژوال استودیوی خود را باز کنید.

مرحله 5:

حال یک پروژه جدید ربات(Bot) در ویژوال استودیو ایجاد کنید، مراحل ایجاد یک پروژه جدید ربات(Bot)در زیر آمده است:

ابتدا به File ،New و سپس به Project بروید و یا دکمه‎های CTRL+SHIFT+N را بزنید.

بعد از این کار ، یک dialog box برای شما باز خواهد شد.در قسمت Visual C#    که در شکل مشخص شده است شما Application Bot را انتخاب کنید و یک نام برای پروژه خود انتخاب کنید.

مرحله 6:

بعد از ایجاد پروژه ، شما تعدادی فایل  در  solution explorer خواهید داشت .که در شکل نشان داده ایم.

مرحله 7:

فایلWeb.Config  را باز کنید ، و به پروژه خود کلیدهایAppId  و ApppSecret را بدهید.اگر این پروژه را بخواهید به صورت Locally   اجرا کنید ، شما می توانیدAppId و AppSecret    را مانند شکل زیر ، تعیین کنید.

نکته:

برای سیستم های Local ، شما می توانید AppId و AppSecret   را تهیه کنید.اما اگر شما نخواهید که ربات شما در سیستم Local اجرا شود ، باید  در  اینجا  ثبت نام کنید .و بعد از ثبت نام کردن، AppId و AppSecret   ربات را به شما می دهد.

مرحله 8:

اگر وارد  web.config شوید به   فایل  default document دسترسی پیدا خواهید کرد که در آن فایل های قابل اجرا وجود دارد.

مرحله 9 :

اگر شما پروژه را اجرا کنید یک خروجی به شکل زیر خواهید داشت.

خروجی بالا ، چیز خاصی نمی باشد اما کد بخش  default  شما در فایل "default.htm" نوشته شده است.

مرحله 10:

حال اگر پوشه Controller را باز کنید در داخل آن یک فایل Controller به نام "MessagesController خواهیم داشت. MessagesController را باز کنید.

وقتی که شماMessagesController  را باز کنید، کد زیر به صورت پیش فرض نوشته شده است.

1.	using System;  
2.	using System.Linq;  
3.	using System.Net;  
4.	using System.Net.Http;  
5.	using System.Threading.Tasks;  
6.	using System.Web.Http;  
7.	using System.Web.Http.Description;  
8.	using Microsoft.Bot.Connector;  
9.	using Microsoft.Bot.Connector.Utilities;  
10.	using Newtonsoft.Json;  
11.	  
12.	namespace MySimpleBotApp  
13.	{  
14.	    [BotAuthentication]  
15.	    public class MessagesController : ApiController  
16.	    {  
17.	        /// <summary>  
18.	        /// POST: api/Messages  
19.	        /// Receive a message from a user and reply to it  
20.	        /// </summary>  
21.	        public async Task<Message> Post([FromBody]Message message)  
22.	        {  
23.	            if (message.Type == "Message")  
24.	            {  
25.	                // calculate something for us to return  
26.	                int length = (message.Text ?? string.Empty).Length;  
27.	  
28.	                // return our reply to the user  
29.	                return message.CreateReplyMessage($"You sent {length} characters");  
30.	            }  
31.	            else  
32.	            {  
33.	                return HandleSystemMessage(message);  
34.	            }  
35.	        }  
36.	  
37.	        private Message HandleSystemMessage(Message message)  
38.	        {  
39.	            if (message.Type == "Ping")  
40.	            {  
41.	                Message reply = message.CreateReplyMessage();  
42.	                reply.Type = "Ping";  
43.	                return reply;  
44.	            }  
45.	            else if (message.Type == "DeleteUserData")  
46.	            {  
47.	                // Implement user deletion here  
48.	                // If we handle user deletion, return a real message  
49.	            }  
50.	            else if (message.Type == "BotAddedToConversation")  
51.	            {  
52.	            }  
53.	            else if (message.Type == "BotRemovedFromConversation")  
54.	            {  
55.	            }  
56.	            else if (message.Type == "UserAddedToConversation")  
57.	            {  
58.	            }  
59.	            else if (message.Type == "UserRemovedFromConversation")  
60.	            {  
61.	            }  
62.	            else if (message.Type == "EndOfConversation")  
63.	            {  
64.	            }  
65.	  
66.	            return null;  
67.	        }  
68.	    }  
69.	}  

مرحله 11:

برای یک مثال ساده ، ما تعدای کد در Post Action تغییر می دهیم.

مرحله12:

در اینجا یک Action Method دیگر با نام  HandleSystemMessage مشاهده می کنید که با استفاده از آن می توانید شرط موجود در  BotAddedToConversation را  تغییر دهید.

مرحله 13:

زمانی که دوباره برنامه را جرا کنید ، دوباره صفحه ی پیش فرض به شما نشان داده می شود .بنابراین یک بار دیگر برنامه را اجرا بگیرید.

مرحله 14:

حال برای شبیه بودن برنامه ، شما باید Bot Framework Emulator را باز کنید .شما می توانید Bot Framework Emulator را از این لینک دانلود کنید.

مرحله 15:

بعد از تهیه کردن AppId و  AppSecret  ، شما می توانید یک درخواست برای Bot Added To Conversation ارسال کنید.

مرحله 16:

بعد از ارسال درخواست به Bot Added To Conversation ،پیغامی که در HandleSystemMessage action برای BotAddedToConversation نوشته بودیم ، به عنوان خروجی برگردانده خواهد شد.


مرحله 17:

حال ، یک پیام را ارسال کنید ، بنابراینPost Action  فراخوانی می شود ، هرآنچه که شما نوشته اید  ،Post Action  آن را به شما برمی گرداند.

بعد از ارسال پیام:

آموزش سی شارپ

فایل های ضمیمه

ایمان مدائنی

نویسنده 1299 مقاله در برنامه نویسان
  • C#.net
  • 3k بازدید
  • 10 تشکر

کاربرانی که از نویسنده این مقاله تشکر کرده اند

در صورتی که در رابطه با این مقاله سوالی دارید، در تاپیک های انجمن مطرح کنید