您现在的位置: 网页制作教程网 >> 网络编程 >> Asp.net 教程 >> ASP.NET 实例教程 >> 文章正文
作者:动态网站…
来源:动态网站制作指南
热度:
2007-6-5 12:55:42
三、你要一个什么样的聊天机器人
1 开发前的设想
我这里讨论的就是“聊天机器人”这个概念,意思是,他能做的就是陪你聊天。你要有一个程序去“教”他说话,同时要让他明白话语中包含的大概意义,还能够做基本上不怎么离谱的回答。
2 还可以让他做什么
你还可以让他做很多其他的事情,比如查询ip,手机号码,注册号,航班号,或者直接让他去查google,帮你搜索。这些也都不是什么麻烦的事情,只要你想。
四、先让机器人开口说话
不管你的机器人聪不聪明,让他能在MSN上象摸象样地回答是最重要的。所以,你需要有一个MSN帐号,连接到MSN服务器,取得各种服务器的消息,同时发送消息回服务器。
当然,你可以分析MSN的协议(http://www.hypothetic.org/docs/msn/index.php),自己写通讯部分。不过我提过,我是个喜欢投机取巧的人,所以,找个能用的接口用就好了。所以,我找了些MSN的开发接口。
MSNHelper:
http://sourceforge.net/projects/msnphelper/
dotMSN:
http://members.home.nl/b.geertsema/dotMSN/
这两个都是为.NET开发的,我用dotMSN,它使用MSNP8协议。注意dotMSN不要用sourceforge上的版本,要用上面给出的地址。
接下来,下载这个例子:
http://members.home.nl/b.geertsema/dotMSN/...ple/Example.zip
用vs.net打开,编译,执行。
看懂了吧。登录之后随便双击列表上的某个人,会发送给这个人一句"Hello world!"。你已经可以不通过MSN原来的程序,而直接和人说话了。
这部分的代码是这样的:
private void ContactJoined(Conversation sender, ContactEventArgs e)
{
// someone joined our conversation! remember that this also occurs when you are
// only talking to 1 other person. Log this event.
Log.Text += e.Contact.Name + " joined the conversation.\r\n";
// now say something back. You can send messages using the Conversation object.
sender.SendMessage("Hello world!");
}
意思是当对方加入聊天后,你就给他发一个"Hello world!"的消息过去。这时候如果你列表上的人双击你的名字,也同样会收到一个Hello World!。
我来说两句:
推荐文章
相关文章