V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
eyeKi1l
V2EX  ›  分享创造

轮子练手, pyQQRobot

  •  
  •   eyeKi1l · 2016-06-19 16:32:30 +08:00 · 3704 次点击
    这是一个创建于 3104 天前的主题,其中的信息可能已经有所发展或是发生改变。

    之前跟着学长一起玩的,学长用的 nodejs 。然后自己也跟着造了个轮子。

    摸索着把 WebQQ 协议抓了抓包, python 写了一个 QQRobot 框架

    命名也没啥创意, pyQQRobot (蜜汁 py )

    #!/bin/usr/env python3
    # 直接用的 python3 的 urllib ,所以 python2 不行
    from qqRobot import qqClient,qqHandler
    
    class myHandler(qqHandler):
        def onBuddyMessage(self,uin,msg):
            self.sendMessage(uin,"Hello, my name is pyQQRobot!")
    
    if __name__=='__main__':
        qc=qqClient()
        qc.QRVeri()
        qc.Login()
        qc.addHandler(myHandler())
        qc.Listen(join=True)
    
    

    做了个机器人(话说谁来叫我怎么把这机器人智商调高)

    每天学校里的事情也都够忙的,中途没看啥其他人的博客也走了点弯路。

    现在也就能收发个消息。登录以后拉消息还有 retcode103 ,游览器登录可以解决,还得折腾。

    只能说还没写完吧。不过就要高三了,不发就没机会了。

    求 v2er 们轻喷。

    https://github.com/eyeKill/pyQQRobot

    第 1 条附言  ·  2016-06-23 13:47:06 +08:00
    昨天更新 格式全都换了 pep8
    详见 repo 里的 README
    14 条回复    2016-07-04 22:47:47 +08:00
    Coxxs
        1
    Coxxs  
       2016-06-19 16:43:44 +08:00
    retcode 103 的问题记得是要拉几个好友、群、临时会话列表啥的,之后 poll 才会正常
    eyeKi1l
        2
    eyeKi1l  
    OP
       2016-06-19 16:58:15 +08:00 via Android
    @Coxxs poll 之前拉了
    102400
        3
    102400  
       2016-06-19 18:17:47 +08:00
    github 上这种用 QQ web 协议的 Robot 很多啊,都是用 tuling123 的接口,被调戏太多很容易被封
    eyeKi1l
        4
    eyeKi1l  
    OP
       2016-06-19 18:32:50 +08:00 via Android
    @102400 所以说是练手啦
    Yinz
        5
    Yinz  
       2016-06-19 20:49:32 +08:00
    ret103 是需要登陆之后请求一次在线好友列表 get_online_buddies2 :)
    Yinz
        6
    Yinz  
       2016-06-19 20:50:42 +08:00   ❤️ 1
    congeec
        7
    congeec  
       2016-06-19 21:50:40 +08:00   ❤️ 1
    你个 camelCase 的异类!
    eyeKi1l
        8
    eyeKi1l  
    OP
       2016-06-19 22:56:08 +08:00 via Android
    @congeec 之前一直写 Java !
    jason19659
        9
    jason19659  
       2016-06-20 09:58:15 +08:00
    用小冰接口能好点。。
    XYxe
        10
    XYxe  
       2016-06-21 22:24:43 +08:00
    不能在讨论组或者 qq 群发消息吗?
    sheep3
        11
    sheep3  
       2016-06-24 21:13:56 +08:00
    @Yinz 你好 , 一直在 ret103 , 且显示乱码 , 是我姿势不对么
    sheep3
        12
    sheep3  
       2016-06-24 21:23:17 +08:00
    @Yinz OK 了 ! 果然是姿势不对噗噗
    JiaFeiX
        13
    JiaFeiX  
       2016-07-04 22:08:41 +08:00 via iPhone
    node 版本,有开源吗?
    eyeKi1l
        14
    eyeKi1l  
    OP
       2016-07-04 22:47:47 +08:00 via Android
    @JiaFeiX 学长的那个不太稳定😂
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   989 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 21:37 · PVG 05:37 · LAX 13:37 · JFK 16:37
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.