如何使用DOTMSN开发简单的MSN机器人示例(附示例源码) - 中国WEB开发者网络 (http://www.webasp.net) -- 技术教程 (http://www.webasp.net/article/) --- 如何使用DOTMSN开发简单的MSN机器人示例(附示例源码) (http://www.webasp.net/article/29/28121.htm) |
| -- 作者:未知 -- 发布日期: 2007-01-16 |
本文继续上篇:使用第三方SDK开发咱博客园自己的MSN机器人(附示例源码) 由于这个需要把自己的password暴露给sp,所以就使用DOTMSN来避免这个问题! 下载地址: http://www.xihsolutions.net/dotmsn/download.html 趁着五一休息就看着他的example做拉一个简单的msn机器人.
更多开源和破解请访问:http://overred.cnblogs.com 本文继续上篇:使用第三方SDK开发咱博客园自己的MSN机器人(附示例源码) messenger = new Messenger(); messenger.Connect(user.Text, pwd.Text); 2.显示您的好友(在线和离线等状态) //显示所有在线人 private void ShowAll() { try { messenger.SetStatus(MSNStatus.Online); AllListView.Clear(); foreach(Contact contact in messenger.GetListEnumerator(MSNList.ForwardList)) { ListViewItem item = new ListViewItem(contact.Name); item.Tag = contact; if(contact.Status != MSNStatus.Offline) { AllListView.Items.Add((item+"在线").Remove(0,14)); } // if(contact.Status == MSNStatus.Busy) // { // AllListView.Items.Add(item+"忙碌"); // } // if(contact.Status == MSNStatus.Away) // { // AllListView.Items.Add(item+"离开"); // } else { AllListView.Items.Add((item+"离线").Remove(0,14)); } } } catch(Exception ex) { MessageBox.Show(ex.ToString()); } } 3.发送定制消息 我的定制消息是当您打开并要跟我对话时,我会把我博客上的最新文章标题和连接发送给您.(如效果图) 4.接受消息,根据消息内容判断,并返发相应的信息 比如当用户发送给我的消息中包含某个关键词,如overred,我需要我的机器人自动给他发送什么消息: private void ReadMsg(Conversation sender, DotMSN.MessageEventArgs e) { //string content; string input = e.Message.Text; if(input.IndexOf("red")>0) { string content="overred 欢迎您光临他的blog:"+"\r\n"+"http://overred.cnblogs.com"; sender.SendMessage(content); } else if(input.StartsWith("H")) { string content="我很笨,很多功能还在开发哦"+"\r\n"+"http://overred.cnblogs.com"; sender.SendMessage(content); } else { string content="你好啊,我不知道你说的是什么啊,有什么事情请输入H"; sender.SendMessage(content); } } 当您输入的消息中包含red这个关键词,他的自动回复消息是: overred 欢迎您光临他的blog: http://overred.cnblogs.com (这个可以跟您的数据库关联起来,把一些定制消息保存于数据库) 关于这个消息是如何触发他是通过委托机制实现的,实现起来非常简单.(请下载源代码) 示例代码下载地址: http://www.cnblogs.com/Files/overred/DotMsnDemo.rar 说明:由于发送博客的rss内容,所以由于网络速度问题,可能导致对方msn不能及时收到相应的消息! 剩下的大家去体验吧! |
| webasp.net |