程序员

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

2017-03-11  本文已影响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实现微信群消息同步机器人

上一篇下一篇

猜你喜欢

热点阅读