首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

施用DotMSN 2.0开发MSN机器人

2012-11-07 
使用DotMSN 2.0开发MSN机器人在网络上查阅了很多关于通过DotMSN开发包来开发MSN机器人的小程序,为了验证其

使用DotMSN 2.0开发MSN机器人

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

施用DotMSN 2.0开发MSN机器人

?

    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="正在连接到服务器...";                            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(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());                        }                    }                                private void button3_Click(object sender, EventArgs e)//用来断开连接                    {                        msn.CloseConnection();                    }                }            }  
?

转自:http://blog.csdn.net/longqi293/archive/2008/06/24/2580923.aspx

热点排行