用vsC#写一个在线聊天机器人

2025-10-27 11:38:18

1、打开visual studio2015新建一个C#工程。取名,保存。

用vsC#写一个在线聊天机器人

用vsC#写一个在线聊天机器人

2、设计界面,添加两个label,两个button,两个textbox

用vsC#写一个在线聊天机器人

3、修改各个组件的属性,首先修改text属性,在设计界面上右键然后选择属性,右侧栏就会出现。找到text项,然后单击添加的各个组件修改他们的名字

用vsC#写一个在线聊天机器人

用vsC#写一个在线聊天机器人

用vsC#写一个在线聊天机器人

4、修改name属性。单击组件,在右侧属性栏找到name项进行修改。上面一个大的textbox改为rtb_mess,下面的改为rtb_send。关闭改为btn_close,发送改为btn_send。

用vsC#写一个在线聊天机器人

5、写代码。在设计界面右键点击代码进入代码界面

using部分:

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Windows.Forms;

using System.Net;

using System.IO;

using Newtonsoft.Json;//程序需引用Newtonsoft.Json 

//下载地址http://json.codeplex.com/或者:http://pan.baidu.com/s/1pJszMDd

开头部分:

 HttpWebResponse Response = null;

第一个函数:

//

        /// <summary>

        /// 对话图灵机器人

        /// </summary>

        /// <param name="p_strMessage"></param>

        /// <returns></returns>

        public string ConnectTuLing(string p_strMessage)

        {

            string result = null;

            try

            {

                //注册码自己到网上注册去

                String APIKEY = "c32ccaa805b6441be76bc18074f12e51";

                String _strMessage = p_strMessage;

                String INFO = Encoding.UTF8.GetString(Encoding.UTF8.GetBytes(_strMessage));

                String getURL = "http://www.tuling123.com/openapi/api?key=" + APIKEY + "&info=" + INFO;

                HttpWebRequest MyRequest = (HttpWebRequest)HttpWebRequest.Create(getURL);

                HttpWebResponse MyResponse = (HttpWebResponse)MyRequest.GetResponse();

                Response = MyResponse;

                using (Stream MyStream = MyResponse.GetResponseStream())

                {

                    long ProgMaximum = MyResponse.ContentLength;

                    long totalDownloadedByte = 0;

                    byte[] by = new byte[1024];

                    int osize = MyStream.Read(by, 0, by.Length);

                    Encoding encoding = Encoding.UTF8;

                    while (osize > 0)

                    {

                        totalDownloadedByte = osize + totalDownloadedByte;

                        result += encoding.GetString(by, 0, osize);

                        long ProgValue = totalDownloadedByte;

                        osize = MyStream.Read(by, 0, by.Length);

                    }

                }

                //解析json

                JsonReader reader = new JsonTextReader(new StringReader(result));

                while (reader.Read())

                {

                    //text中的内容才是你需要的

                    if (reader.Path == "text")

                    {

                        //结果赋值

                        result = reader.Value.ToString();

                    }

                    Console.WriteLine(reader.TokenType + "\t\t" + reader.ValueType + "\t\t" + reader.Value);

                }

            }

            catch (Exception)

            {

                throw;

            }

            return result;

        }

在设计界面双击关闭:

this.FindForm().Close();

在设计界面双击发送:

string returnMess = ConnectTuLing(rtb_send.Text);

            rtb_mess.Text = returnMess;

用vsC#写一个在线聊天机器人

用vsC#写一个在线聊天机器人

用vsC#写一个在线聊天机器人

用vsC#写一个在线聊天机器人

6、回车键事件代码:

 /// <summary>

        /// 回车快捷键

        /// </summary>

        /// <param name="sender"></param>

        /// <param name="e"></param>

        private void rtb_send_KeyDown(object sender, KeyEventArgs e)

        {

            if (e.KeyCode == Keys.Enter)

            {

                rtb_mess.Text = ConnectTuLing(rtb_send.Text);

            }

        }

然后回到设计界面,点击小的文本框在右侧属性栏上方找到类似闪电的图标然后点击,找到KeyDown下拉选择唯一的一项

用vsC#写一个在线聊天机器人

用vsC#写一个在线聊天机器人

7、添加using,把下载的文件解压,在代码界面点击项目,添加引用,在弹出窗口点击浏览,弹出窗口进入下载的文件夹选择文件,进入Bin下的Net45文件夹选择里面的文件,点击下面的选择,窗口消失。在引用管理器窗口选中刚才选择的文件点击确定

用vsC#写一个在线聊天机器人

用vsC#写一个在线聊天机器人

用vsC#写一个在线聊天机器人

用vsC#写一个在线聊天机器人

8、点击启动按钮,等待加载完成。开始聊天

用vsC#写一个在线聊天机器人

用vsC#写一个在线聊天机器人

用vsC#写一个在线聊天机器人

9、相应的文件和工程下载:工程文件http://pan.baidu.com/s/1eQjUIuI

using引用:http://pan.baidu.com/s/1pJszMDd

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢