『转载』使用DotMSN 2.0开发MSN机器人

在网络上查阅了很多关于通过DotMSN开发包来开发MSN机器人的小程序,为了验证其正确性,本人亲自测试,发现了这样一篇文章,他写的很好,没有问题。下面就贴出源代码,和大家分享。请提前在项目引用中添加下载到的DotMSN.dll文件,再using DotMSN;

0.jpg 

 

ContractedBlock.gif ExpandedBlockStart.gif Code
using System;   
  
using System.Collections.Generic;   
  
using System.ComponentModel;   
  
using System.Data;   
  
using System.Drawing;   
  
using System.Text;   
  
using System.Windows.Forms;   
  
using DotMSN;   
  
  
  
namespace MSNBotTest   
  
{   
  
    
public partial class Form1 : Form   
  
    {   
  
        
public Form1()   
  
        {   
  
            InitializeComponent();   
  
        }   
  
        DotMSN.Messenger msn 
= new DotMSN.Messenger();//初始化一个Messenger对象用来登陆服务器   
  
        
private void button1_Click(object sender, EventArgs e)   
  
        {   
  
            
try  
  
            {   
  
  
  
                statusBar1.Text
="正在连接到服务器dot.gif";   
  
                msn.ConversationCreated 
+= new Messenger.ConversationCreatedHandler(ConversationCreated);   
  
                msn.Connect(textBox1.Text, textBox2.Text);
//前一个为用户名,后一个为密码   
  
                msn.SynchronizeList();初始化列表,用来显示在线用户   
  
                statusBar1.Text
="成功连接到服务器";   
  
                   
  
            }   
  
            
catch (DotMSN.MSNException me)   
  
            {   
  
                MessageBox.Show(me.ToString());   
  
            }   
  
  
  
        }   
  
        
private void ReadMsg(Conversation sender, DotMSN.MessageEventArgs e)   
  
        {   
  
            
//string content;   
  
            
string input = e.Message.Text;   
  
            
if (input.Equals("j"))   
  
            {   
  
                
string content = "你好,我是机器人小范";   
  
                sender.SendMessage(content);   
  
            }   
  
  
  
            
else if (input.StartsWith("H"))   
  
            {   
  
                
string content = "我很笨,很多功能还在开发哦";   
  
                sender.SendMessage(content);   
  
            }   
  
            
else  
  
            {   
  
                
string content = "你好啊,我不知道你说的是什么啊,有什么事情请输入H";   
  
                sender.SendMessage(content);   
  
            }   
  
  
  
        }   
  
        
private void ConversationCreated(Messenger sender, ConversationEventArgs e)   
  
        {   
  
               
  
            e.Conversation.MessageReceived 
+= new Conversation.MessageReceivedHandler(ReadMsg);   
  
        }   
  
  
  
        
private void button2_Click(object sender, EventArgs e)   
  
        {   
  
            
try  
  
            {   
  
                ShowAll();   
  
            }   
  
            
catch (Exception ex)   
  
            {   
  
                MessageBox.Show(ex.ToString());   
  
            }   
  
        }   
  
        
private void ShowAll()   
  
        {   
  
            
try  
  
            {   
  
                msn.SetStatus(MSNStatus.Online);   
  
                AllListView.Clear();   
  
                
foreach (Contact contact in msn.GetListEnumerator(MSNList.ForwardList))   
  
                {   
  
                    ListViewItem item 
= new ListViewItem(contact.Name);   
  
                    item.Tag 
= contact;   
  
                    
if (contact.Status != MSNStatus.Offline)   
  
                    {   
  
                        AllListView.Items.Add((item 
+ "在线").Remove(014));   
  
                    }   
  
                    
//                    if(contact.Status == MSNStatus.Busy)   
  
                    
//                    {   
  
                    
//                        AllListView.Items.Add(item+"忙碌");   
  
                    
//                    }   
  
                    
//                    if(contact.Status == MSNStatus.Away)   
  
                    
//                    {   
  
                    
//                        AllListView.Items.Add(item+"离开");   
  
                    
//                    }   
  
                    
else  
  
                    {   
  
                        AllListView.Items.Add((item 
+ "离线").Remove(014));   
  
                    }   
  
  
  
                }   
  
  
  
            }   
  
            
catch (Exception ex)   
  
            {   
  
                MessageBox.Show(ex.ToString());   
  
            }   
  
        }   
  
  
  
        
private void button3_Click(object sender, EventArgs e)//用来断开连接   
  
        {   
  
            msn.CloseConnection();   
  
        }   
  
    }   
  
}  
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值