1. 程式人生 > >Python微信小程式,實現自動回覆等功能(itchat模組)

Python微信小程式,實現自動回覆等功能(itchat模組)

本文是使用Python的itchat模組進行微信私聊訊息以及群訊息的自動回覆功能,必須在自己的微信中新增微訊號xiaoice-ms(微軟的微信機器人)才能實現,直接複製程式碼執行之後掃一掃二維碼即可,經過測試,該程式能夠保持幾小時的時間。

實現原理,將別人傳送給你的訊息轉發給AI小冰,然後再將AI的回覆轉回給那個人。

群訊息也是如此,此外還添加了新年問候語,是否與他人進行AI聊天等功能。不過只能實現文字訊息以及微信自帶表情的轉發,不能轉發表情、語音等。

# -*-coding:utf-8-*-
import itchat
import itchat.content as itcontent

# 登入網頁微信,
hotReload=True 能讓登入時間加長 itchat.auto_login(hotReload=True) # 記錄公眾號機器人小冰的UserName mps = itchat.search_mps(name='小冰') AI = mps[0]['UserName'] # print(AI) # 記錄自己的UserName,不然傳送訊息會發兩遍 username = itchat.get_friends() user = username[0]['UserName'] # print(username) # 記錄好友列表裡好友的 UserName friendsname = [friend['UserName'
] for friend in username if friend['UserName'] != user] # print(friendsname) groupname = itchat.get_chatrooms() groups = [group['UserName'] for group in groupname] # 這個說來話長~~,有興趣的可以去上網查查 @itchat.msg_register(itcontent.TEXT, isFriendChat=True, isMpChat=True, isGroupChat=True) def simple_reply(msg,
FriendList=[]): Fromuser = msg['FromUserName'] # 如果是AI而且列表不為空,就將AI發給自己的訊息轉發給傳送訊息者 if msg['FromUserName'] == AI and FriendList: # print(msg['FromUserName']) itchat.send(msg['Text'], toUserName=FriendList[-1]) elif Fromuser in friendsname: if '新年' in msg['Text']: return '新年快樂,祝您身體健康,萬事勝意。' # 記錄傳送訊息者入FriendListelif Fromuser not in FriendList and msg['Text'] == '小小冰真漂亮': FriendList.append(Fromuser) return '通訊建立成功' # 第一次傳送訊息過來,回覆以下內容 elif Fromuser in FriendList: if msg['Text'] in ['小小冰再見', '小小冰晚安', '小小冰下次聊']: FriendList.remove(Fromuser) return '再見,和您聊天十分開心,希望您今天過得愉快!' else: FriendList.append(Fromuser) itchat.send(msg['Text'], toUserName=AI) else: text = '''Mr.D先生現在不在,我是助手AI,有要事請撥打號碼:xxxxxxxxxxx。如果想和我聊天,那就大聲地說"小小冰真漂亮 (回覆小小冰再見/小小冰晚安/小小冰下次聊可結束此次聊天。)"''' return text elif Fromuser in groups: if msg.isAt: if '新年' in msg['Content']: return '新年快樂,祝您身體健康,萬事勝意。' elif Fromuser not in FriendList and msg['Content'] == '小小冰真漂亮': FriendList.append(Fromuser) return '通訊建立成功' elif Fromuser in FriendList: if msg['Content'] in ['小小冰再見', '小小冰晚安', '小小冰下次聊']: FriendList.remove(Fromuser) return '再見,和您聊天十分開心,希望您今天過得愉快!' else: FriendList.append(Fromuser) itchat.send(msg['Content'], toUserName=AI) else: text = '''Mr.D先生現在不在,我是助手AI,有要事請撥打號碼:xxxxxxxxxxx。如果想和我聊天,那就大聲地說"小小冰真漂亮 (回覆小小冰再見/小小冰晚安/小小冰下次聊可結束此次聊天。)"''' return text elif msg['Text'] == '小小冰真漂亮': FriendList.append(Fromuser) return '通訊建立成功' elif Fromuser in FriendList: if msg['Text'] in ['小小冰再見', '小小冰晚安', '小小冰下次聊']: FriendList.clear() return '再見,和您聊天十分開心,希望您今天過得愉快!' elif '新年' in msg['Text']: return '新年快樂,祝您身體健康,萬事勝意。' else: FriendList.append(Fromuser) itchat.send(msg['Text'], toUserName=AI) # 如果是自己傳送訊息,則清空列表 elif Fromuser == user: FriendList.clear() # 其他公眾號資訊,就通知一聲給微信檔案助手 else: itchat.send('公眾號資訊', toUserName='filehelper') @itchat.msg_register([itcontent.PICTURE, itcontent.RECORDING, itcontent.VIDEO, itcontent.MAP], isFriendChat=True, isGroupChat=True, isMpChat=True) def return_text(msg): text = '我不具備識別語音與圖片等功能,請說普通話。' return text itchat.run()

相關推薦

Python程式實現自動回覆功能itchat模組

本文是使用Python的itchat模組進行微信私聊訊息以及群訊息的自動回覆功能,必須在自己的微信中新增微訊號xiaoice-ms(微軟的微信機器人)才能實現,直接複製程式碼執行之後掃一掃二維碼即可,經過測試,該程式能夠保持幾小時的時間。實現原理,將別人傳送給你的訊息轉發給A

程式實現多個按鈕toggle功能

如下圖所示,實現該按鈕toggle功能。 百度上很多都是隻設定一個按鈕的toggle,所以我現在來稍微總結下:多個按鈕如何實現自身的toggle功能。 原理:1,列表展示的時候,我們會用wx:for 來迴圈資料,那麼我們就會得到相應的當前的第幾個資料(即 wx:key="

程式實現 watch 屬性監聽資料變化

目標 在微信小程式實現 watch 屬性,監聽data中的屬性,當被監聽屬性的值改變時,執行我們指定的方法。​​ 思路 Vue 的computed和watch可以很方便的檢測資料的變化,從而做出相應的改變,所以,模仿 vue 肯定是一個不錯的選擇。 與 Vue 一樣,我們使用 ES5 的Object.

程式搜尋框自動補全功能

▶動態效果圖◀   ▶效果涉及到的input屬性◀ focus     Boolean     false     獲取焦點      bindinput &nb

使Atom支援程式程式碼格式wxml,wxss有顏色高亮

在用Atom來瀏覽或者編輯微信小程式時的介面時全灰色文字怎麼辦?!! 如何讓wxml和wxs格式的程式碼像HTML,CSS變成高亮的呢。。 就像這樣 ↓↓↓↓↓↓↓ 修改步驟如下 1.在Atom中裝

程式模擬彈窗提示使用者授權wxss+wxml

效果圖: wxml內容: <!-- index.wxml --> <view class="modal-box" hidden='{{!showTip}}'> <view class="modal-content"> &

程式中如何修改陣列指定元素或物件

1、更改陣列中的值 可以改變陣列中某一個特定下標的值 //陣列 paraList:[{txt:'123',chose:false},{txt:'1234',chose:false}] //細節 l

程式tab導航+滾動頂部吸附效果開發例項

<!-- scroll導航欄 --> <view class='scrollBox2 fix-news' wx:if="{{fixTop<scrollTop}}"&g

程式/應用號開發IDE破解版免APPID下載及教程

微信應用號/小程式開發IDE 交流Q群:294630305 注意:先下0.7版用於登入,再下0.9版用於開發,目前只能本地編譯,不能上傳 下載宣告 相關程式碼純屬技術研究與愛好,請在學習使用後刪除 相關下載資源均來自於QQ群,與作者及貢獻者本人無關 當微信官方

程式——自定義個性化模態框附程式碼

微信小程式官方提供的模態框主要有以下幾種,這幾種方法都只能簡單的顯示文字內容,不能達到設計要求。最後只能通過自定義實現可以靈活設計的彈框。 主要原理: 和普通的css相同,利用 z-index實現不同層的顯示,以實現彈框效果。 先附上最終效果圖:

基於java的程式實現登入註冊程式端的實現

1.微信小程式專案結構認識 js檔案用來寫相關的邏輯操作,主要是用來操作資料 json檔案用來寫一些相關的配置 wxss相當於css用來寫頁面樣式 wxml相當於html用來寫頁面的元素的 pages資料夾中可以存放多個資料夾,每個資料夾裡面都是一套是js,json

基於java的程式實現登入註冊登出介面的實現

1.開發工具以及相關環境的配置 1.首先關於IDE,前端小程式端採用的是微信官方的微信開發者工具,後端使用的是idea(idea是真的智慧,再也不想回去eclipse了呢),關於前端的一些程式碼,主要是參照微信官方的API進行開發的,整體的檔案結構也和js,css,html也很相似。

前端Java產品經理程式Python資源合集大放送

為了感恩大家長久以來的關注和支援,小編準備了一些福利,整理了包含前端,Java,產品經理,微信小程式,Python,網站原始碼,Android應用視訊教程,微信公眾平臺開發教程及材料等資源合集大放送。重要的話說三遍,感恩大回饋,超有價值的學習資料免費送!免費領取!如果需要學習視訊,歡迎

python打造程式加帽神器祝你聖誕節快樂!

每年到這個時候,微信好友的頭像都會開始換上「聖誕」面板。最常見的就是加個聖誕小帽子了。     當然這種事情用很多 P 圖軟體都可以做到,微信搜尋「聖誕帽」也會有各種小程式出現,但是使用之前的驗證,總會要求繫結微信等各種資訊,接受各種彈幕廣告,甚至還有

程式 Tab實現可滑動、可點選

效果: 直接碼吧,做個筆記。 tab.wxml: <view class="swiper-tab"> <view class="swiper-tab-item {{c

程式ajax實現請求伺服器資料模版遍歷資料

昨天下載了一個微信小程式的開發者工具,大概看了一下文件,簡單的用他的方法實現了ajax請求。 微信小程式文件地址:https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1474632113_xQVCl&

程式實現時間日期的選擇並且顯示當前選擇的時間日期

<!--時間選擇器 --> <view class=''>選擇時間></view> <picker mode="time" value='{{time

程式前端程式-畢設級專案搭建內含原始碼程式+java邏輯後臺+vue後臺管理系統+MySQL資料庫~不求完美實現就好

一、環境搭建 參考教程:https://blog.csdn.net/u012888052/article/details/79623229 二、根據上方教程新建的專案,編寫對應程式         第一次做的小程式,是一款閱讀器軟體,包括了簡單的文章瀏覽、歷史回顧、簽到

電商類程式庫存不超賣實現

緣起由於專案中需要實現一個買賣平臺的微信小程式,實現過程中,發現控制庫存不超賣是一個非常有意思的事情。已獲知的情報庫存超賣經常由於併發時有髒讀情況,通常實現庫存不超賣通過加鎖方式實現1.樂觀鎖:假設不會發生併發衝突,只在提交操作時檢查是否違反資料完整性。樂觀鎖不能解決髒讀的問