美文网首页程序员
微信机器人能实现哪些好玩的功能

微信机器人能实现哪些好玩的功能

作者: 向右奔跑 | 来源:发表于2017-03-11 11:53 被阅读4998次

    我大致能想到的应用场景,现在有以下两个:

    1.

    如果你有一个群已到500人,还有人要加进来,那就要建一个新群。 新群一开始往往人气氛围不如老群,光靠管理员吆喝也不够。能不能把新群和老群的聊天信息打通,新加进来的朋友能看到老群的聊天信息,就会感到氛围不一样,微信机器人就能实现群与群之间的聊天信息自动转发。

    2.

    现在有比较多的学习成长群、跑步锻炼群,都在群里打卡,月底统计,有奖有罚。比如“海乐樱运动营”微信群,每个月做运动打卡的排行榜,再进行抽奖,发奖品鼓励。之前还有朋友拉我进一个背单词的群,月初交50元保证金,月底统计打卡情况,任务完成返还保证金,没有完成钱就捐了,他们是统一捐赠给山区失学儿童。

    其实有很多APP都实现了以上的打卡记录、统计分析的功能,也有的采用了押金监督功能,为什么大家还是用微信群打卡,专门人去记录统计呢,可能原因在于微信群里可以及时反馈鼓励,有氛围。

    微信机器人就能实现打卡的自动记录,再完善一下程序可以生成排名和数据分析。


    使用itchat不到30行代码,就能实现上面的微信聊天信息自动转发的功能。

    一、Python微信库: itchat

    文档说明:http://itchat.readthedocs.io/zh/latest/ , itchat是一个开源的微信个人号接口,使用python调用微信。

    安装:

    pip install itchat
    
    

    快速入门:

    import itchat
    
    itchat.auto_login()
    
    itchat.send('Hello, filehelper', toUserName='filehelper')
    

    运行一下这段代码,会下载一个二维码,微信打开扫一下,程序会给你的“文件传输助手”发送一条消息Hello, filehelper

    要回复你自己发送的文本信息:

    import itchat
    
    @itchat.msg_register(itchat.content.TEXT)
    def text_reply(msg):
        return msg['Text']
    
    itchat.auto_login()
    itchat.run()
    

    这时候你发一条,机器人就会回复你刚刚发的内容。就是一个应声虫,哈哈哈。如果你登录了电脑上的微信,需要先退出来。

    二、微信群聊天信息自动转发机器人

    实现方法:先获取需要转发微信群的ID,再转发消息。代码很少,直接上。

    #coding=utf-8
    import itchat
    from itchat.content import *
    
    groups={}
    @itchat.msg_register([TEXT, SHARING], isGroupChat=True)
    def group_reply_text(msg):
    
        source = msg['FromUserName']  # 来自哪一个群信群
        groups[source]=msg['ActualNickName'] # 把群聊的ID和名称加入groups,ActualNickName不是微信群的名字。
    
        print msg['Content']
    
        # 处理文本消息
        if msg['Type'] == TEXT:
            for item in groups.keys():
                if not item == source:
                    itchat.send('robot --> %s:\n%s' % (msg['ActualNickName'], msg['Content']), item)
    
        # 处理分享消息
        elif msg['Type'] == SHARING:
            for item in groups.keys():
    
                if not item == source:
                    itchat.send('robot --> %s (share): %s\n%s' % ( msg['ActualNickName'], msg['Text'], msg['Url']), item)
    
    itchat.auto_login()
    itchat.run()
    
    

    (代码全部都在这里,不需要另外下载)

    我在做的时候发现一个问题,程序跑起来,每次获取到的微信群ID不是一个固定的值,一开始,我用户自己的微信号测试,因为加了比较多的群,要先获取、保存那两个想打通聊天信息的微信群,就需要一些判断或指定特殊的信号标记。后来跟宏伦工作室 讨论请教,觉得用一个专门的微信号来实现,就比较简单。我之前的一个小号来做测试。

    看一下效果图:

    微信机器人能实现哪些好玩的功能 微信机器人能实现哪些好玩的功能

    要实现与这个机器人的对话聊天的功能,只要加上图灵机器人接口就行了。


    写完文章看到简叔在招小助理,简叔创业私密群招小助理啦~,感觉到微信机器人可以成为小助理的标配啊。

    参考:
    Python微信库:itchat
    基于itchat实现微信群消息同步机器人

    相关文章

      网友评论

        本文标题:微信机器人能实现哪些好玩的功能

        本文链接:https://www.haomeiwen.com/subject/onsagttx.html