用visual studio2015和C#語言寫一個在線聊天機器人,可以進行簡單的聊天
工具/原料
PC
visual studio2015
Newtonsoft.Json下載地址:http://json.codeplex.com/或者:
方法/步驟
打開visual studio2015新建一個C#工程。取名,保存。
寫一個在線聊天機器人#
設計界面,添加兩個label,兩個button,兩個textbox
寫一個在線聊天機器人#
修改各個組件的屬性,首先修改text屬性,在設計界面上右鍵然後選擇屬性,右側欄就會出現。找到text項,然後單擊添加的各個組件修改他們的名字
寫一個在線聊天機器人#
修改name屬性。單擊組件,在右側屬性欄找到name項進行修改。上面一個大的textbox改為rtb_mess,下面的改為rtb_send。關閉改為btn_close,發送改為btn_send。
寫一個在線聊天機器人#
寫代碼。在設計界面右鍵點擊代碼進入代碼界面
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;
第一個函數:
//
///
/// 對話圖靈機器人
///
///
///
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 = "; + 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;
寫一個在線聊天機器人#
回車鍵事件代碼:
///
/// 回車快捷鍵
///
///
///
private void rtb_send_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Enter)
{
rtb_mess.Text = ConnectTuLing(rtb_send.Text);
}
}
然後回到設計界面,點擊小的文本框在右側屬性欄上方找到類似閃電的圖標然後點擊,找到KeyDown下拉選擇唯一的一項
寫一個在線聊天機器人#
添加using,把下載的文件解壓,在代碼界面點擊項目,添加引用,在彈出窗口點擊瀏覽,彈出窗口進入下載的文件夾選擇文件,進入Bin下的Net45文件夾選擇裡面的文件,點擊下面的選擇,窗口消失。在引用管理器窗口選中剛才選擇的文件點擊確定
寫一個在線聊天機器人#
點擊啟動按鈕,等待加載完成。開始聊天
寫一個在線聊天機器人#
相應的文件和工程下載:工程文件http://pan.baidu.com/s/1eQjUIuI
using引用: