介紹:
給微信增加樂趣,添加自動機器人。
本文標題:itchat配合服務器的微信機器人
本文鏈接:https://blog.xygeng.cn/?id=162
作者授權:除特別說明外,本文由 庚哥哥 原創編譯並授權 木芽博客 刊載發佈。
版權聲明:本文不使用任何協議授權,您可以任何形式自由轉載或使用。
環境
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、掃碼登錄便可。