itchat配合服务器的微信机器人

:2019-01-18    :317 次   :5211 字   

介绍:


给微信增加乐趣,添加自动机器人。【由于代码编辑问题,缩进存在问题所以需要的可以下载源代码】

环境


1、由于系统是centos7.2 64位系统自带Python2.7,就自行安装Python安装代码


2、Ubuntu安装Python:

sudo apt-get install python2.7


3、借助python的itchat和pillow,可以使用pip安装。itchat 是 A complete and graceful API for Wechat . 微信个人号接口、微信机器人及命令行微信,三十行即可自定义个人号机器人。了解更多使用方法,可以阅读使用文档 

  

4、安装pip: 

sudo apt-get install python-pip


5、安装itchat和pillow: 

sudo pip install itchat pillow


6、有时候安装pillow会出现依赖包缺失错误,需要先安装pillow依赖库: 

sudo apt-get install libtiff5-dev libjpeg8-dev zlib1g-dev libfreetype6-dev liblcms2-dev libwebp-dev tcl8.6-dev tk8.6-dev python-tk


代码:


1、python代码编写,创建脚本文件


图灵机器人代码

import requests
import itchat
import sys
reload(sys)
sys.setdefaultencoding('utf-8')
KEY = 'c1fb50c200404a4da70639f3b5240a00'
 
def get_response(msg):
    apiUrl = 'http://www.tuling123.com/openapi/api'
    data = {
        'key': KEY,
        'info': msg,
        'userid': 'pth-robot',
    }
    try:
        r = requests.post(apiUrl, data=data).json()
        return r.get('text')
    except:
        return
 
 
@itchat.msg_register(itchat.content.TEXT)
def tuling_reply(msg):
    defaultReply = 'I received: ' + msg['Text']
    reply = get_response(msg['Text'])
    return reply or defaultReply

itchat.auto_login(hotReload=True,  enableCmdQR=2)
itchat.run()


自定义回复

#coding:utf-8
import re
import time
import itchat
from itchat.content import *
import sys
reload(sys)
sys.setdefaultencoding('utf-8')  #由于我们返回的是中文,Unicode的编码问题,读取文件时使用的编码默认是ascii而不是utf8,所以这里我们要把默认编码设为utf8
@itchat.msg_register([TEXT])   #这里我们先选择注册文本
def reply(msg):   #首先设置防撤回,接着ruturn后的内容就是自动回复的内容,这个自动回复仅对好友生效,群里不会生效
    friend = itchat.search_friends(userName=msg['FromUserName'])
    itchat.send(r"Friend:%s -- %s    "
                r"Time:%s    "
                r" Message:%s" % (friend['NickName'], friend['RemarkName'], time.ctime(), msg['Text']),
                toUserName='filehelper')

    return '快还钱'

if __name__ == '__main__':#启动微信自动登录,二维码登录
 itchat.auto_login(hotReload=True,  enableCmdQR=2)
 itchat.run()


发短信给文件传输助手

import itchat
import sys
reload(sys)
sys.setdefaultencoding('utf-8')
itchat.auto_login(hotReload=True,  enableCmdQR=2)
itchat.send('Hello, filehelper', toUserName='filehelper')


新的改良版

#coding:utf-8
import re
import time
import itchat
from itchat.content import *
import sys
reload(sys)
sys.setdefaultencoding('utf-8') #由于我们返回的是中文,Unicode的编码问题,读取文件时使用的编码默认是ascii而不是utf8,所以这里我们要把默认编码设为utf8
start=True
txt='【自动回复】寒假期间不上线!'
@itchat.msg_register([TEXT]) #这里我们先选择注册文本
def reply(msg): #首先设置防撤回,接着return后的内容就是自动回复的内容,这个自动回复仅对好友生效,群里不会生效
	global start #全局定义
	global txt   #全局定义
	if msg['ToUserName'] == 'filehelper':#默认开启,向文件管理助手发送on开启自动回复,发送off关闭自动回复
		if msg['Text'] == 'off':
			start=False
			itchat.send('The auto_reply is off!', 'filehelper')
		if msg['Text'] == 'on':
			start=True
			itchat.send('The auto_reply is on!', 'filehelper')
	friend = itchat.search_friends(userName=msg['FromUserName'])
	if start==True:	
		if friend['RemarkName']!='***'and friend['NickName']!='***':#设置屏蔽对象,这里填备注名
			return txt
if __name__ == '__main__':#启动微信自动登录,二维码登录
    itchat.auto_login(hotReload=True, enableCmdQR=2)
    itchat.run()### unterminated keywords ###


2、运行python xxx.py


2.1、首先运行【方便后台使用,所以用screen命令】


2.2、新建screen窗口

screen -S wechat


2.3、运行你刚刚保存的文件

python xxx.py


2.4、扫码登录


2.5、ctrl-a-z退出便可后台运行


3、扫码登录便可。




    •   访客
       发布于 2019-02-01 18:14:02  回复该评论
    • 没看懂你的什么改良版 什么版的 花里胡哨的 层次不分 缩进不分 恐怕是复制粘贴把
      •   庚哥哥
         发布于 2019-02-01 18:16:50  回复该评论
      • 我的博文我想怎么写就怎么写,你去复制粘贴给我看看,屁都不懂,不看就滚,天天在那喷。
×