阿不

不抛弃,不放弃

  博客园 :: 首页 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
  159 随笔 :: 0 文章 :: 2113 评论 :: 70 引用

版权声明:该开源开发包,是基于LumaQQ的基于等价移植到.NET平台下,开发者不直接参与QQ协议的分析工作,移植到.NET平台纯粹是为了方便广大.NET开发者学习和研究之用,并且没有产生任何直接的经济效益,并且纯粹是个人的技术学习研究行为,与本人所在单位没有任何关系。此开发包的用户在使用过程产生的效益和涉及的法律责任与本人没有直接关系。如果影响到您或您的公司利益,敬请谅解并且与我联系,本人会第一时间作出处理。本系列章首发且单发于博客园,由于各种原因不欢迎转载本系列文章,如果您转载了该系列文章请自行承担责任并且转载完整版本,包括版权声明。

首先要向所有关心LumaQQ.NET发展的朋友们道个歉,因为距上一次版本更新已经过去了一个多月的时间了,新版本一直迟迟都没有发布。在这段时间里,由于一些个人原因,没有时间和精力投入到新版本的开发当中来,让大家失望了。最近很多人都在问,LumaQQ.NET希望做得什么程度。我目前的定位是:以Lumaqq2005的协议为蓝本,基本能做到简单的文本信息收发功能即可,不打算去分析更新的协议,也不找算做到能基本代替官方QQ的程度,因为我们是定位在机器人开发包的级别。如果有让您失望,还请谅解。关于更详细的开发计划请参考:关于LumaQQ.NET未来开发计划

在Preview 3当中,我们主要增加了群消息的功能(但不包括群管理功能),还修复和完善了之前存在的一些不足和BUG,下面就来简单了解下:

框架完善部分

  1. 使用了新的ByteBuffer,可以解决可能存在的内存使用不合理的问题(感谢Red_angelX的提醒和提供这么好的一个类)
  2. 完善信息发送接口,可以收发长信息(感谢蓝色的风之精灵的贡献)
  3. 可以解析默认表情(解析成[face0.gif]等格式,由用户去替换)和自定义表情(文件名) (感谢蓝色的风之精灵的贡献)
  4. 修复了一些已知的bug,包括之前的天气预报日期问题和QQ注销后程序不退出会出错的问题等。

新增功能部分,主要新功能群信息的功能

  1. 得到我加入的群列表。
    • 这个功能需要使用好友管理的读取好友列表的功能,在返回的好友列表中有两种好:普通好友和群好友。大家只要根据定义的类型来判断就可以得到所加入的群列表,如:if(friend.Type == FriendType.IS_CLUSTER)
  2. 接收群消息和群通知的功能
    • 这个功能分为几个事件,这些事件的InPacket事件参数类型都为ReceiveIMPacket,但是事件不同,里面的属性字段使用不同,同样的,所有的群操作命回复事件包都是ClusterCommandReplyPacket,但是根据事件不同,这个对象的属性使用不同。请大家仔细查阅ClusterCommandReplyPacket的注释说明。
      • ReceiveClusterIM:接收到群消息事件
      • AddedToCluster:被加入到群通知
      • RemovedFromCluster:被从某个群中移动的通知
      • ApprovedJoinCluster:群管理员同意我加入群的通知
      • RejectJoinCluster:群管理员拒绝的加入群的通知
      • HasRequestedJoinCluster:有人请求加入群的通知
  3. 请求加入群功能,这个功能通过JoinCluster接口发送请求,如果返回结果提示需要发送身份验证,则调用RequestJoinCluster来发送验证信息。加入结果则以系统通知(上面的事件)的形式返回。
  4. 根据群ID查找群,通过SearchClusterById发送查找群请求。
  5. 退出群,通过调用ExitCluster请求退出群。
  6. 发送群信息功能,暂不能分包发送长信息。
  7. 修改群名片
  8. 刷新群内组织架构
  9. 得到单个成员和全部群名片信息
  10. 得到群资料,群成员列表(QQ号码)
  11. 得到在线成员
  12. 得到群成员详细信息

以上功能测试基本正常,如果有任何问题或疑问请通过LumaQQ.NET小组交流讨论,同时大家也可以加入LumaQQ.NET QQ群讨论,号码是:22858783 谢谢!

另外,在这里要特别感谢蓝色的风之精灵的热心和贡献,解决了一些疑难问题,希望大家再接再厉一起来完善LumaQQ.NET。

文档和源码下载

更新:增加了for vs 2005的Preview3。  04/24/2008

阿不 http://hjf1223.cnblogs.com
Tag标签: lumaqq.net
posted on 2008-04-22 22:15 阿不 阅读(3855) 评论(54)  编辑 收藏 所属分类: OpenSourceLumaQQ.NET

评论

#1楼  2008-04-22 22:21 SPARON      
呵呵,非常不错,正在学习中,支持楼主。
  回复  引用  查看    

#2楼  2008-04-22 22:22 Jack.Wang      
支持
  回复  引用  查看    

#3楼  2008-04-22 22:49 天下叁      
好,强烈支持!!
  回复  引用  查看    

关注好久。。。
哈哈 终于出来啦
  回复  引用    

判断是否是自动回复的消息 ???解决了?
  回复  引用    

#6楼  2008-04-22 23:10 蓝色的风之精灵      
在家里用Wii上来関主下!abu好様的!
  回复  引用  查看    

#7楼  2008-04-22 23:31 平静中的疯狂      
非常好,强烈支持

PS:LZ的她是否也在看你的BLOG呢?如果不肯定,那还是当面诚恳的说声SORRY,我觉得这样会更好。
  回复  引用  查看    

#8楼  2008-04-23 08:26 李战      
飞过,再接再厉。
  回复  引用  查看    

#9楼  2008-04-23 08:29 tommyk      
建议把版权声明放在文章末尾,不然每次在首页呈现的时候,都看到的是那段版权声明的文字。
  回复  引用  查看    

#10楼  2008-04-23 09:13 chunfeng      
我也想研究下,给我地址我下载
  回复  引用  查看    

#11楼  2008-04-23 09:24 生鱼片      
支持
  回复  引用  查看    

#12楼  2008-04-23 09:30 overred      
不错
  回复  引用  查看    

#13楼  2008-04-23 10:10 flank.chen      
很好
  回复  引用  查看    

#14楼  2008-04-23 10:23 杨正祎(阿一)      
强暴支持~ ^_^...
  回复  引用  查看    

#15楼  2008-04-23 12:46 郁闷啊 [未注册用户]
嗯嗯,很期待第一个版本哦
  回复  引用    

#16楼  2008-04-23 13:55 flyingleaf      
支持linux系统吗?
  回复  引用  查看    

#17楼  2008-04-23 14:14 reaper      
不支持不行呀
  回复  引用  查看    

#18楼  2008-04-23 15:35 airwolf2026      
支持一个.版权还是放页首好.毕竟这个哈哈...有前车之鉴
  回复  引用  查看    

#19楼  2008-04-23 16:13 scotoma      
偶加群的哦...希望阿布通过呵呵...

支持LUMAQQ.NET
  回复  引用  查看    

#20楼 [楼主] 2008-04-23 19:17 阿不      
@糖冒鸡屎
自动回复信息是指?
  回复  引用  查看    

我发送群信息全部超时……没一条发出去的,是不是有什么特殊的要求?
我用的是 ClusterManager.SendClusterIM 这个方法的
  回复  引用    

#22楼 [楼主] 2008-04-23 19:44 阿不      
@随风飘扬
没有特殊要求,我的都可以发出去的.
  回复  引用  查看    

@阿不
我忧郁。。为啥我的全部超时呢
  回复  引用    

if(e.InPacket.NormalIM.ReplyType=Byte)
@阿不
啥时候可以变成枚举呢??
  回复  引用    

#25楼 [楼主] 2008-04-24 08:45 阿不      
@糖冒鸡屎
改过来了,呵呵。
  回复  引用  查看    

#26楼 [楼主] 2008-04-24 08:45 阿不      
@随风飘扬
你能不能自己调下,是什么问题。
  回复  引用  查看    

#27楼  2008-04-25 12:33 zbage [未注册用户]
可以收到,但无法回复临时消息
e.QQClient.MessageManager.SendTempIM
  回复  引用    

#28楼 [楼主] 2008-04-25 12:36 阿不      
这个包已经过期了,命令改变了,目前我还不知道最新协议。
  回复  引用  查看    

@阿不
是群内部ID和外部ID的问题,已经弄清了..恼怒啊.
  回复  引用    

#30楼  2008-04-27 10:43 zbage [未注册用户]
如果QQ用户是离开状态(自动回复),给机器人发信息,机器人都有反馈信息,就会造成一个死循环~
在监听收信息时,如何得到发信息QQ的状态??
  回复  引用    

#31楼  2008-04-27 10:45 zbage [未注册用户]
接上
对于QQ用户处于不在线状态,就无反馈信息处理,好像可以解决问题,现在的问题是在LumaQQ.net中在监听收信息时,如何得到发信息QQ的状态??
  回复  引用    

#32楼 [楼主] 2008-04-27 10:46 阿不      
@zbage
在收到信息时,有一个标志来标识对方发送过来的是否为自动回复。
  回复  引用  查看    

#33楼  2008-04-27 11:04 zbage [未注册用户]
是离开状态,只有QQ处于离开状态才有自动回复
  回复  引用    

#34楼  2008-04-27 11:21 zbage [未注册用户]
搞定了,谢了!
  回复  引用    

#35楼  2008-05-03 20:26 freeze      
总算盼到支持群的版本啦。加油啊,支持啊!!
  回复  引用  查看    

为什么我收到的群信息都是 null?
  回复  引用    

#37楼 [楼主] 2008-05-04 15:05 阿不      
@Lunadancer
不知道你是否用了正确的回复包属性。
  回复  引用  查看    

#38楼  2008-05-07 20:03 wjl [未注册用户]
谢谢
  回复  引用    

#39楼  2008-05-23 01:58 逐_风 [未注册用户]
if (parsers[packet.GetFamily()] != null)
\LumaQQ.NET\Packets\PacketHelper.cs
这样的错误,修改下会少很多问题的,我很怀疑超时的问题是不是编码的问题。
  回复  引用    

#40楼  2008-05-25 20:48 lvjinhua [未注册用户]
请问,支持mono吗?
  回复  引用    

#41楼 [楼主] 2008-05-26 08:38 阿不      
@lvjinhua
可以的,具体可以看:
http://space.cnblogs.com/group/topic/2451/
  回复  引用  查看    

#42楼  2008-07-09 09:54 Tidus [未注册用户]
关注!共同学习!
  回复  引用    

#43楼  2008-07-18 23:23 grf110 [未注册用户]
真强,好东西
  回复  引用    

#44楼  2008-07-28 11:39 willen [未注册用户]
在群比较多的QQ登录时会出来发送包超时,这个问题怎样解决?
  回复  引用    

#45楼 [楼主] 2008-07-28 13:54 阿不      
@ willen
没有遇到过,也不清楚会是什么原因
  回复  引用  查看    

@随风飘扬
怎么获取群ID啊?
  回复  引用    

阿不,支持你~
但是同时发现了一个问题.
最早的一个1.0.0.0没有这个问题的哦。但是1.0.0.4就有.
这个问题就是
在有人加机器人的时候.自动发一条信息给对方.
1.0.0.4的不行.但是1.0.0.0的可以哦~>不知道是怎么回事
  回复  引用    

#48楼 [楼主] 2008-09-13 12:35 阿不      
应该不会吧,发的内容是什么?
  回复  引用  查看    

@阿不
阿不,我想问一下如何修改QQ的相关信息呢?

比如修改网名~.麻烦您抽空给解答一下>~感谢!

用Visual C# 2005.是控制台程序.

这工具我从来没用过~.近几天才在研究哈.
  回复  引用    

阿不,我发现了个问题.
当对方QQ设置为允许所有人加好友时.使用e.QQClient.FriendManager.AddFriend
无法加好友哦~>
如果对方是需要验证的话用
e.QQClient.FriendManager.SendAddFriendAuth(e.InPacket.Form, "我是你的好朋友啊!");

用这个可以发送验证.是我不会用还是怎么回事哦.还是协议过期了呢?
  回复  引用    

#51楼 [楼主] 2008-09-25 10:00 阿不      
@支持你的人
如果不需验证添加好友,之前好像是可以的。
只是需要发送验证时,会添加不成功。
这个好友添加协议似乎有点问题,你用着吧。
还有,由于时间关系,我无法写很多的文档,其实详细的文档都在接口上,你自己看下源码应该就能理解了。
  回复  引用  查看    


标题  
姓名  
主页
Email (博主才能看到) 
验证码 *  看不清,换一张 [登录][注册]
内容(请不要发表任何与政治相关的内容)  
  登录  使用高级评论  新用户注册  返回页首  恢复上次提交      
该文被作者在 2008-04-24 19:26 编辑过


相关链接: