520 | 機器人竟然對我表白了?!用Python假裝自己有女朋友(附代碼)

520 | 機器人竟然對我表白了?!用Python假裝自己有女朋友(附代碼)

來自專欄數據汪6 人贊了文章

授權轉載自大數據分析和人工智慧

作者:小馬哥 愛數圈聯合創始人

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)

以下為代碼輸出

機器人對我表白

在這特殊的日子裡,機器人對我說了我愛你,也就是自己發給自己信息。還可以說更多其他的內容,只需要設置一下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)def reply_my_friend(msg): return {} ,收到你的消息了,馬上處理.format(msg.text, msg.type)#忽略群里的消息@bot.register(boring_group)#忽略群的消息def ignore(msg): #什麼也不做 return

效果如下:

自動與所有人聊天

好友或者微信群太多,回復不過來?聊天機器人一鍵回復所有人的消息,並且能並行執行。自動聊天機器人是在圖靈機器人的基礎上,進行二次開發實現。因為圖靈的機器人已經很智能了,可以回答很多問題,比如當地的天氣、名詞解釋等內容。圖靈機器人可以在圖靈網站註冊賬號,並且創建自己的機器人。比如創建一個叫做「我的機器人的」自動聊天機器人,然後與所有人進行聊天。

#給所有人自動聊天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)

效果如下:

自動聊天機器人可以智能的回答當地的天氣,並且提醒多加衣服

自動與群聊的效果:

參考資料

更多關於wxpy庫的使用,請參考文檔:

wxpy.readthedocs.io/zh/

推薦閱讀:

Chrome擴展推薦:在線文本加密,別讓「郵件門」再度上演
如何高效學習?分享通過思維導圖自主學習的六個模板
每日公告:中海達投放導航晶元,迎來新機遇;承接資管股份,中鼎未來預期在哪兒?
獨孤問天下,這台科技全能洗衣機還有什麼不能洗?
石頭剪刀布遊戲代碼編寫思路及步驟

TAG:科技 | 機器人 | Python |