itchat-python搭建微信機(jī)器人(附示例)
itchat是python開源第三方庫,用于搭建微信機(jī)器人,幾十行代碼就能幫你實(shí)現(xiàn)自動(dòng)的處理所有信息。比如,添加好友,搭建自動(dòng)回復(fù)機(jī)器人,還原撤銷信息,分析好友男女比例,地理分布情況,爬朋友圈做數(shù)據(jù)分析…
本文只是簡單實(shí)現(xiàn)聊天機(jī)器人,想了解更多關(guān)于itchat的用法請(qǐng)參照:https://itchat.readthedocs.io/zh/latest/
安裝
pip install itchat
登錄
itchat.auto_login(hotReload=True)
執(zhí)行后會(huì)出現(xiàn)一個(gè)二維碼,掃碼登錄。hotReload=True可以保留登錄狀態(tài),以至于往后的重啟程序可以跳過掃碼登錄。
消息類型
| 參數(shù) | 類型 |
|---|---|
| TEXT | 文本 |
| MAP | 位置 |
| CARD | 名片 |
| SHARING | 分享 |
| PICTURE | 圖片表情 |
| RECORDING | 語音 |
| ATTACHMENT | 附件 |
| VIDEO | 小視頻 |
發(fā)送消息
send(msg='text',toUserName=None)
- msg:發(fā)送的內(nèi)容
- toUserName:發(fā)送對(duì)象,None表示自己
內(nèi)容類型:
- 圖片:@img@img_path
- 視頻:@vid@vid_path
- 文件:@fil@file_path
ps:接收到的附件路徑一般默認(rèn)存放在當(dāng)前路徑的msg[‘FileName']下
注冊(cè)會(huì)話監(jiān)聽
#TEXT:監(jiān)聽的消息類型
@itchat.msg_register(TEXT)
def text_reply(msg):
#過濾掉某人,NickName是昵稱
if msg.User['NickName'] == 'xxx':
pass
else:
# return_text = tuling(msg.text)
#這種send方法會(huì)自己回復(fù)自己的消息
# msg.user.send(u'收到了')
#只回復(fù)對(duì)方的消息
return u'收到了'
圖靈聊天機(jī)器人
在圖靈機(jī)器人官網(wǎng)(http://www.tuling123.com)注冊(cè)賬號(hào),創(chuàng)建機(jī)器人,如果只是學(xué)習(xí)的話,可以使用免費(fèi)版,一個(gè)賬號(hào)最多可以創(chuàng)建5個(gè)機(jī)器人,一個(gè)機(jī)器人日調(diào)用接口數(shù)5000次。
#申請(qǐng)機(jī)器人后會(huì)拿到一個(gè)key
key = '3c925fbee6f84ad2aa032ab05d4581b0'
def tuling(info):
url = "http://www.tuling123.com/openapi/api?key=%s&info=%s" % (key, info)
r = requests.get(url)
#返回消息
return r.json().get('text')
附上完整代碼(文本圖片群聊)
# coding: utf-8
# @Time : 2019/2/20 23:32
# @Author : lsn
# @File : itchat_demo.py
# @Software: PyCharm
import itchat
import requests
from itchat.content import *
key = '3c925fbee6f84ad2aa032ab05d4581b0'
def tuling(info):
url = "http://www.tuling123.com/openapi/api?key=%s&info=%s" % (key, info)
r = requests.get(url)
return r.json().get('text')
@itchat.msg_register(TEXT)
def text_reply(msg):
if msg.User['NickName'] == 'xxx':
pass
else:
return_text = tuling(msg.text)
# msg.user.send(return_text)
return return_text
@itchat.msg_register(
[PICTURE, RECORDING, ATTACHMENT, VIDEO])
def download_files(msg):
print msg['Type']
print msg['FileName']
msg['Text'](msg['FileName'])
return '@%s@%s' % ({'Picture': 'img', 'Video': 'vid'}.get(msg['Type'], 'fil'), msg['FileName'])
@itchat.msg_register(TEXT, isGroupChat=True)
def group_text_reply(msg):
group_list = list()
# 針對(duì)指定群回復(fù)
group_list.append(u'彈一彈')
group_list.append(u'養(yǎng)生游戲分享')
# 當(dāng)然如果只想針對(duì)@你的人才回復(fù),可以設(shè)置if msg['isAt']:
if msg.User['NickName'] in group_list:
return tuling(msg.text)
else:
pass
itchat.auto_login(hotReload=True)
itchat.run()
參考:http://www.dbjr.com.cn/article/162809.htm
以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- Python實(shí)現(xiàn)企業(yè)微信機(jī)器人每天定時(shí)發(fā)消息實(shí)例
- Python調(diào)用釘釘自定義機(jī)器人的實(shí)現(xiàn)
- Python使用微信接入圖靈機(jī)器人過程解析
- 基于python的itchat庫實(shí)現(xiàn)微信聊天機(jī)器人(推薦)
- python實(shí)現(xiàn)機(jī)器人卡牌
- Python實(shí)現(xiàn)微信機(jī)器人的方法
- Python3從零開始搭建一個(gè)語音對(duì)話機(jī)器人的實(shí)現(xiàn)
- 基于Python的微信機(jī)器人開發(fā) 微信登錄和獲取好友列表實(shí)現(xiàn)解析
- Python實(shí)現(xiàn)微信翻譯機(jī)器人的方法
- Python qqbot 實(shí)現(xiàn)qq機(jī)器人的示例代碼
- python實(shí)現(xiàn)微信自動(dòng)回復(fù)機(jī)器人功能
- 如何用Python做一個(gè)微信機(jī)器人自動(dòng)拉群
- Python QQBot庫的QQ聊天機(jī)器人
- 使用python接入微信聊天機(jī)器人
- python實(shí)現(xiàn)微信機(jī)器人: 登錄微信、消息接收、自動(dòng)回復(fù)功能
- 手把手教你使用Python創(chuàng)建微信機(jī)器人
- python控制nao機(jī)器人身體動(dòng)作實(shí)例詳解
- Python開發(fā)企業(yè)微信機(jī)器人每天定時(shí)發(fā)消息實(shí)例
相關(guān)文章
python 從csv讀數(shù)據(jù)到mysql的實(shí)例
今天小編就為大家分享一篇python 從csv讀數(shù)據(jù)到mysql的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2018-06-06
Python中Cryptography庫實(shí)現(xiàn)加密解密
Python中Cryptography庫給你的文件加把安全鎖,本文主要介紹了Python中Cryptography庫實(shí)現(xiàn)加密解密,具有一定的參考價(jià)值,感興趣的可以了解一下2024-02-02
Python實(shí)現(xiàn)合并兩個(gè)有序鏈表的方法示例
這篇文章主要介紹了Python實(shí)現(xiàn)合并兩個(gè)有序鏈表的方法,涉及Python操作鏈表節(jié)點(diǎn)的遍歷、判斷、添加等相關(guān)操作技巧,需要的朋友可以參考下2019-01-01
詳解Selenium-webdriver繞開反爬蟲機(jī)制的4種方法
這篇文章主要介紹了詳解Selenium-webdriver繞開反爬蟲機(jī)制的4種方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-10-10
python實(shí)現(xiàn)的web監(jiān)控系統(tǒng)
這篇文章主要介紹了python實(shí)現(xiàn)的web監(jiān)控系統(tǒng),幫助大家更好的理解和學(xué)習(xí)使用python,感興趣的朋友可以了解下2021-04-04
Python模塊結(jié)構(gòu)與布局操作方法實(shí)例分析
這篇文章主要介紹了Python模塊結(jié)構(gòu)與布局操作方法,結(jié)合實(shí)例形式分析了Python模塊與布局的相關(guān)概念、使用方法與相關(guān)注意事項(xiàng),需要的朋友可以參考下2017-07-07

