Friends, Technology, Web2.0 - What I am reading

    [Home] [Recent] [Site Map]

   

Writing a simple messenger bot with Live Messenger Add-in SDK

很早就想给 Messenger 写个 Bot玩玩,有一段时间还分析过messenger的协议,不过Messenger这东东每次更新必然升级协议,搞得到后来都没力气跟他玩了。
Live Messenger 算是有了个Add-In SDK, 不过这个Add-in本来不是用来作Bot用的,功能很弱而且限制颇多:
  • Messenger 只能 Load 一个Add-In Dll (这点其实可以绕过去,写一个Add-In ,再自己公开了一个Interface,然后每次Init的时候到一个固定的Folder去动态加载所有实现了这个Interface的Dll)
  • Add-In 能做的事情非常有限,它只能响应Receive Message Event去 Reply message。
  • Add-In 只能Reply Message 给 Message 的Sender,不能发给第3方。
  • Add-In 只能回复1条Message 给Message 的 Sender (Kao,这个是最致命的,很多东东基本上没的玩了)
不过看在至少能Reply Message的份上,凑合着用用把:
首先要Enable Messager 的 Addin功能,缺省情况下,这个Feature是disable的。
改一下注册表,加个DWORD key in HKEY_CURRENT_USER\Software\Microsoft\MSNMessenger\AddInFeatureEnabled
set the value to 1, Restart your messenger, Login and open option window: Add-In tab 就出现了:
image
(有时候你会发现改了注册表Add-In Tab还是没有出来, 如果确定你的Registry没有改错,重装一下Live Messenger应该可以解决问题,还不行的话,请回忆你前半生的所作所为以检查RPWT)
当然,在这里只是Load,要激活Add-In,你还要Turn On它:
image
 
Add-In的开发很容易,简单的引用Messenger Program Folder里的MessengerClient.dll,再创建一个Class实现IMessengerAddIn。IMessengerAddIn 接口实现也很简单,在Initialize里注册一下你的ReplyMessage事件处理函数就行了。
Online SDK里有Sample Code,基本只要照抄。唯一要注意一点的就是编译出的Dll file name 要和你的 实现 IMessengerAddIn 的Class的FullName相同,比如说你的Class叫MyCompany.Testing.MyMessagerAddIn, dll 名字就得叫做MyCompany.Testing.MyMessagerAddIn.dll。
 
对了,给你的Add-In Dll 加上Strong Name 并且Add to GAC, 否则Add-In dll 会Run 在Internet Permission Set,不能读写本地文件,不能访问Database,不能... 基本上除了可以Reply个"Hello World",你的AddIn啥也干不了。
 
调试也挺痛苦,我刚开始是用VS.Net 直接 Attach msnmsgr.exe 这个进程,然后在Messenger里 Load Addin Dll, 如果你在Compile Add-in dll之后刷新了GAC里Dll 版本的话,Initalize method 上的断点是能起作用的。后来就索性先当这Add-In是个普通的Class Library, 用NUnit 或者直接写个test winform project 来调试了。
 
 
  写Bot的时候在网上乱搜,还找到个好玩东西:AIML in A.L.I.C.E.。嗯,专门用于聊天机器人的ML语言,还有个.Net 实现的解释器。加上个AIML编辑器,应该还是能玩出点花样的。

>>
Source Link
>>Blog: joycode
>>Publish Date: 7/5/2007 7:01:02 AM
>>Keywords: add messenger

Related Posts
>>Fidg’t—你的社会性网络地址簿 #
    Web2.0 之所以区别于Web1.0 一个很重要的因素便是网络的社会化,而目前网络上大大小小、层出不穷的社会性网络早已经让我产生了视觉疲劳,然而真正能够粘住我,让我心甘情愿每天花上不少时间泡在上面的SNS也不过几个:Last.fm、Flickr、XiaoNei; Fidg’t 提供了一种聚合社会性网络的服务,可以将你 Flickr、Last.fm、AIM、MSN、Yahoo 等帐
>>沟通只需轻一点 #
    作者:雅虎通产品小组 有没有遇到过这样的问题?临时想和雅虎通上的好友随便聊上几句,却发现电脑没装雅虎通,只好花费时间进行下载、安装……真是有些麻烦呢。 呵呵,告诉大家一个好消息,这个问题很快就会有办法解决了,我们近期即将推出的Web Messenger,可以帮助大家不用借助雅虎通聊天软件也能随时随地畅快聊天!它采用目前业内最新的界面及后台技术开发而成,实现无需下载任何软件和插件,在网页中就可以
>>Google Talk Web版增加表情图释 #
    作者:Src  今天登录Web版的Google Talk,发现新增了45个表情图释,憨态可掬。相比来说,Yahoo Messenger(Web版)的表情早已被大家所熟悉并喜爱。   下图为Google Talk Web版新增的表情图释   下图为Yahoo Messenger Web版的表情图释
>>每日美味 [2007-04-24:zheng @ del.icio.us ] #
    A Small Circle Of Friends - Forbes.com Peoplet™, your Career Messenger IBM Lotus Connections - Profiles Networks: Breakthroughs - Forbes.com
>>3D Interfaces on the Web - Useful or Novelty? #
    3D interfaces have been around since the Web began - and more than one dot com fell by the wayside partly because of an over-reaching 3D interface (cough, boo.com). Indeed as we noted in December, vir
>>Saving Links Through IM with Meshly #
    Meshly is not really like Twitter; it is not really like del.icio.us; and it is not really like digg. But comparisons to all three are fair when trying to figure out just what exactly Meshly actually
>>用WPF和.NET开发的下一代Yahoo Messenger #
    【原文地址】 Next Generation Yahoo Messenger built with WPF and .NET 【原文发表日期】 Sunday, January 07, 2007 11:12 PM 在这个星期的消费类电子产品展览会(Consumer Electronics Show)上,Yahoo 展示了他们下一代messenger客户端的几个非常酷的演示(你可以在 http://
>>每日美味 [2007-06-13]:zheng @ del.icio.us #
    MiniMobs, A new kind of Instant Messenger, talk to all your friends on Myspace, Friendster, Facebook and more! 什么是商业模式 PR 2.0 - Silicon Valley

Other Posts:
>>LINQ的经典例子-Where,Select、SelectMany、SkipWhile子句中使用数组索引
>>Windows Vista Tip (01) : 快速切换日历
>>Announcing Windows Live Folders
>>用Excel2007与SharePoint列表进行双向同步!
>>MOSS2007应用管理培训圆满结束
>>CsvParser in C#
>>对于Office Open XML文档格式,请发表您的看法
>>MySpace招聘SQL专家
>>周末休闲 | 看微软(1):08又有新景点
>>微软在武汉/长沙/合肥招聘 Account Technology Specialist
>>如何最方便的创建SharePoint解决方案包?
>>Silverlight技术社区研讨会(临时贴)


Month Archives:

Top Tags:
Company & Product Profiles Google Technology Internet Search feature Business and Technology column analysis letter 业界信息 Web2.0 Search Headlines news Startups comment application deal WebApp咨询 產業策進 服务介绍 未來趨勢 創投 业界动态 創業案例 Google/SEO Web 2.0 News & Ideas 互联网络 Yahoo


@2007 All rights Reserved