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

介绍:


给微信增加乐趣,添加自动机器人。

本文标题:itchat配合服务器的微信机器人

本文链接:https://blog.xygeng.cn/162.html

作者授权:除特别说明外,本文由 庚哥哥 原创编译并授权 木芽博客 刊载发布。

版权声明:本文不使用任何协议授权,您可以任何形式自由转载或使用。

环境


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'])
	itchat.send(r"Friend:%s -- %s "
	r"Time:%s "
	r" Message:%s" % (friend['NickName'], friend['RemarkName'], time.ctime(), msg['Text']),
	toUserName='filehelper')
	if start==True:	
		if friend['RemarkName']!='张口就来':#设置屏蔽对象,这里填备注名
			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、扫码登录便可。

 

你可能感兴趣的:(Python,机器人)