轉自:https://wxpy.readthedocs.io/zh/latest/index.html
- 微信機器人 / 可能是最優雅的微信個人號 API
- wxpy 在 itchat 的基礎上,通過大量接口優化提升了模塊的易用性,並進行豐富的功能擴展
注意
強烈建議僅使用小號運行機器人!
從近期 (17年6月下旬) 反饋來看,使用機器人存在一定概率被限制登錄的可能性。
主要表現為無法登陸 Web 微信 (但不影響手機等其他平台)。
用來干啥
一些常見的場景
- 控制路由器、智能家居等具有開放接口的玩意兒
- 運行腳本時自動把日志發送到你的微信
- 加群主為好友,自動拉進群中
- 跨號或跨群轉發消息
- 自動陪人聊天
- 逗人玩
- ...
總而言之,可用來實現各種微信個人號的自動化操作
輕松安裝
wxpy 支持 Python 3.4-3.6,以及 2.7 版本
將下方命令中的 “pip” 替換為 “pip3” 或 “pip2”,可確保安裝到對應的 Python 版本中
- 從 PYPI 官方源下載安裝 (在國內可能比較慢或不穩定):
pip install -U wxpy
- 從豆瓣 PYPI 鏡像源下載安裝 (推薦國內用戶選用):
pip install -U wxpy -i "https://pypi.doubanio.com/simple/"
簡單上手
登陸微信:
# 導入模塊
from wxpy import * # 初始化機器人,掃碼登陸 bot = Bot()
找到好友:
# 搜索名稱含有 "游否" 的男性深圳好友
my_friend = bot.friends().search('游否', sex=MALE, city="深圳")[0]
發送消息:
# 發送文本給好友
my_friend.send('Hello WeChat!') # 發送圖片 my_friend.send_image('my_picture.jpg')
自動響應各類消息:
# 打印來自其他好友、群聊和公眾號的消息
@bot.register() def print_others(msg): print(msg) # 回復 my_friend 的消息 (優先匹配后注冊的函數!) @bot.register(my_friend) def reply_my_friend(msg): return 'received: {} ({})'.format(msg.text, msg.type) # 自動接受新的好友請求 @bot.register(msg_types=FRIENDS) def auto_accept_friends(msg): # 接受好友請求 new_friend = msg.card.accept() # 向新的好友發送消息 new_friend.send('哈哈,我自動接受了你的好友請求')
保持登陸/運行:
# 進入 Python 命令行、讓程序保持運行
embed() # 或者僅僅堵塞線程 # bot.join()