用vsC#写一个在线聊天机器人
1、打开visual studio2015新建一个C#工程。取名,保存。


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

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



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

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;




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下拉选择唯一的一项


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




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



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