如何使用DOTMSN开发简单的MSN机器人示例(附示例源码)

 本文继续上篇: 使用第三方SDK开发咱博客园自己的MSN机器人(附示例源码)
由于这个需要把自己的password暴露给sp,所以就使用DOTMSN来避免这个问题!
下载地址:
http://www.xihsolutions.net/dotmsn/download.html

趁着五一休息就看着他的example做拉一个简单的msn机器人.
效果图:


他的功能弱弱的,但是基本实现拉简单的需求!
功能描述已经实现代码(简单描述):
1.登陆

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不能及时收到相应的消息!
剩下的大家去体验吧!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值