新年群发自动回复

  • Lanceloft
  • 1 Minutes
  • January 28, 2017

  每到节假日,微信上就有一堆认识/不认识的在群发各种<稀奇古怪、复制粘贴来>的祝福语,进行各种各样的轰炸。虽然我平时的态度都死不回复的,后来看到github上一个Python自动回复的机器人,觉得还挺有意思,就设置一下关键字,自动回复对上群发,也不吃亏。话不多说,先贴上作者github项目地址:https://github.com/littlecodersh/itchat

  简单小白起步,首先是必须安装Python,不过Linux或者mac用户应该已经安装好了的 https://www.python.org/downloads/
接下来就是需要安装pip https://pip.pypa.io/en/stable/installing/
这里以ubuntu为例子

$ sudo apt-get install python-pip python-dev build-essential
$ sudo pip install –upgrade pip
$ sudo pip install –upgrade virtualenv

  安装好pip后,就可以利用pip来安装itchat

pip install itchat

  为了在终端上能正常显示登录二维码,需要安装pillow

pip install pillow

  新建一个index.py文件,复制以下代码

#coding=utf-8
import itchat, time, re
from itchat.content import *

@itchat.msg_register([TEXT, MAP, CARD, NOTE, SHARING])
def text_reply(msg):
    match = re.search(u'新年', msg['Text']).span()
    if match:
      itchat.send((u'祝你新春快乐,鸡年大吉哎哟'), msg['FromUserName'])

itchat.auto_login(enableCmdQR=2)
itchat.run()

  因为本身不是写Python,从github复制了代码,换上中文,发现并没有完成自动回复。后来找了很多原因才发现原来Python默认都是ANSCII嘛,然后特别是输入中文时候就有问题了,不过Python的解决方法也是挺简单,在中文前加个u就好了。u’新年’就解决了编码不一的问题。
  enableCmdQR=2是因为我ubuntu的终端字符宽度不一,统一一下才可以正常显示二维码。这些方法在作者github都能看到。
  终端执行python index.py就好了,然后扫描就一下就可以了,非常简单快捷。过年这几天已经丢到腾讯云上,就让那些群发来鞭挞我吧。