itchat配合服務器的微信機器人

介紹:


給微信增加樂趣,添加自動機器人。

本文標題: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、掃碼登錄便可。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章