520這一天,也是網絡情人節。就在今天,python聊天機器人竟然對我表白了,并且還自動地和微信裡面的所有人和群聊天。一時間,所有人以為我變成了聊天達人。具體什麼情況,我們慢慢看看怎麼實作的。 運作環境
運作平台:Mac
Python版本:Python3.6
IDE:spyder
wxpy介紹wxpy 在 itchat 的基礎上,通過大量接口優化提升了子產品的易用性,并進行豐富的功能擴充。
wxpy一些常見的場景:
一些常見的場景
控制路由器、智能家居等具有開放接口的玩意兒
跑腳本時自動把日志發送到你的微信
加群主為好友,自動拉進群中
充當各種資訊查詢
轉發消息
逗人玩
...
# 腦洞太大的就不提了...
總而言之,可用來實作各種微信個人号的自動化操作
安裝wxpy安裝wxpy非常簡單,如果你擁有pip,請直接按照Github中的方法安裝:
從 PYPI 官方源下載下傳安裝 (在國内可能比較慢或不穩定):
pip3 install -U wxpy
從豆瓣 PYPI 鏡像源下載下傳安裝 (推薦國内使用者選用):
pip install -U wxpy -i "https://pypi.doubanio.com/simple/"
登入微信 wxpy 使用起來非常簡單,我們隻需要建立一個bot 對象,程式運作後,會彈出二維碼,掃描二維碼後顯示登陸成功。為了能自動儲存資訊,不需要每次掃碼,隻需要設定cache_path=True. 同時在項目檔案夾下,多了一個wxpy.pkl檔案。
from wxpy import *
#在初始化時便會執行登陸操作,需要手機掃描登陸。
bot = Bot()
#自動儲存登入資訊,就不需要每次掃二維碼
bot = Bot(cache_path=True)
以下為代碼輸出
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsIyZuBnL4QGM0YmMygTY0IDOwcjY3AzM1gTYilzYlNmMycjZiljM5MWYmZWZm9CXt92Yu4GZjlGbh5SZslmZxl3Lc9CX6MHc0RHaiojIsJye.png)
在這特殊的日子裡,機器人對我說了我愛你,也就是自己發給自己資訊。還可以說更多其他的内容,隻需要設定一下send()内容既可。具體代碼如下:
'''
給自己發送“我愛你“
# 在Web微信中把自己加為好友
bot.self.add()
bot.self.accept()
# 發送消息給自己
bot.self.send(" 520,我愛你!")
下圖是運作效果:
在這麼特殊的一天,你可以使用聊天機器人指定某個人進行聊天,大膽說出自己平常不敢說的話。即使他/她給你回複了,你不好意思回複他。機器人可以幫你自動回複。如何實在不好意思和她聊天,也可以忽略,不用自動回複。
比如,找到微信昵稱或者備注為”馮彬“的好友,然後對他說,“親,在幹嘛呢”。并且自動回複 “嗯,收到你的消息了”。
指定聊天對象,大膽進行表白吧
#指定聊天對象,并發送你想說的話
#還可以發送圖檔,視訊,檔案或者動圖等。可以試一下
my_friend = bot.friends().search('馮彬')[0]
#found = ensure_one(my_friend) //確定找到的是唯一,避免重複
my_friend.send("親,在幹嘛呢")
#如何指定聊天回複你了,聊天機器人自動回複設定好的消息。
@bot.register(my_friend)
def reply_my_friend(msg):
return '{} ,收到你的消息了'.format(msg.text, msg.type)
指定聊天對象,聊天機器人拒絕回複他的消息
ignore_friend = bot.friends().search('馮彬')[0]
@bot.register(ignore_friend)
def ignore(msg):
return
效果如下:
群裡的消息太多,回複不過來?可以使用聊天機器人自動回複設定好的内容。比如回複群名為 “[志願者]資料圈”的所有消息,并且不想回複的時候,也可以直接忽略。
指定一個群聊,并且自動回複群裡的消息
boring_group = bot.groups().search('[志願者]資料圈')[0]
@bot.register(boring_group)
return '{} ,收到你的消息了,馬上處理'.format(msg.text, msg.type)
#忽略群裡的消息
#忽略群的消息
#什麼也不做
好友或者微信群太多,回複不過來?聊天機器人一鍵回複所有人的消息,并且能并行執行。自動聊天機器人是在圖靈機器人的基礎上,進行二次開發實作。因為圖靈的機器人已經很智能了,可以回答很多問題,比如當地的天氣、名詞解釋等内容。圖靈機器人可以在圖靈網站新增賬號,并且建立自己的機器人。比如建立一個叫做“我的機器人的”自動聊天機器人,然後與所有人進行聊天。
#給所有人自動聊天
def auto_replay(text):
url = "http://www.tuling123.com/openapi/api"
api_key ="你注冊的api key"
payload = {
"key":api_key,
"info":text,
"userid":"123456"
}
r = requests.post(url,data=json.dumps(payload))
result = json.loads(r.content)
return "你好"+result["text"]
@bot.register()
def print_message(msg):
print(msg.text
return auto_replay(msg.text)
自動聊天機器人可以智能的回答當地的天氣,并且提醒多加衣服
自動與群聊的效果:
原文釋出時間為:2018-05-19
本文作者:文摘菌
本文來自雲栖社群合作夥伴“
大資料文摘”,了解相關資訊可以關注“
”。