日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

Python进阶_wxpy学习:机器人对象

發布時間:2025/3/15 python 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Python进阶_wxpy学习:机器人对象 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

目錄:

  • 目錄:
  • 前言
  • 機器人對象
  • 初始化/登陸
  • 搜索聊天對象
  • 搜索好友:
  • 搜索群聊:
  • 在群聊中搜素:
  • 搜索任何類型的聊天對象 (但不包含群內成員)
  • 加好友和建群
  • 自動接受好友請求:
  • 其他
  • 控制多個微信 (多開)

前言

學習完了python的基本概念和相應操作后,就要進入實戰階段了,首先選的和微信端口自動交互的wxpy。
本文操靠wxpy的官方文檔:官方文檔

機器人對象

機器人 Bot 對象可被理解為一個 Web 微信客戶端。

解關于發送消息,請參見 聊天對象。
關于消息對象和自動處理,請參見 消息處理。

初始化/登陸

注解Bot 在初始化時便會執行登陸操作,需要手機掃描登陸。

主類

class wxpy.Bot(cache_path=None, console_qr=False, qr_path=None, qr_callback=None, login_callback=None, logout_callback=None)機器人對象,用于登陸和操作微信賬號,涵蓋大部分 Web 微信的功能:from wxpy import *bot = Bot()# 機器人賬號自身myself = bot.self# 向文件傳輸助手發送消息bot.file_helper.send('Hello from wxpy!')參數: cache_path –設置當前會話的緩存路徑,并開啟緩存功能;為 None (默認) 則不開啟緩存功能。開啟緩存后可在短時間內避免重復掃碼,緩存失效時會重新要求登陸。設為 True 時,使用默認的緩存路徑 ‘wxpy.pkl’。console_qr –在終端中顯示登陸二維碼,需要安裝 pillow 模塊 (pip3 install pillow)。可為整數(int),表示二維碼單元格的寬度,通常為 2 (當被設為 True 時,也將在內部當作 2)。也可為負數,表示以反色顯示二維碼,適用于淺底深字的命令行界面。例如: 在大部分 Linux 系統中可設為 True 或 2,而在 macOS Terminal 的默認白底配色中,應設為 -2。qr_path – 保存二維碼的路徑qr_callback – 獲得二維碼后的回調,可以用來定義二維碼的處理方式,接收參數: uuid, status, qrcodelogin_callback – 登陸成功后的回調,若不指定,將進行清屏操作,并刪除二維碼文件logout_callback – 登出時的回調 Bot.enable_puid(path='wxpy_puid.pkl')可選操作: 啟用聊天對象的 puid 屬性:# 啟用 puid 屬性,并指定 puid 所需的映射數據保存/載入路徑bot.enable_puid('wxpy_puid.pkl')# 指定一個好友my_friend = bot.friends().search('qkl')[0]# 查看他的 puidprint(my_friend.puid)# 'edfe8468'小技巧puid 是 wxpy 特有的聊天對象/用戶ID不同于其他 ID 屬性,puid 可始終被獲取到,且具有穩定的唯一性參數: path – puid 所需的映射數據保存/載入路徑

“`
Bot.auto_mark_as_read

為 True 時,將自動消除手機端的新消息小紅點提醒 (默認為 False) #獲取聊天對象

Bot.self

機器人自身 (作為一個聊天對象)若需要給自己發送消息,請先進行以下一次性操作:# 在 Web 微信中把自己加為好友 bot.self.add() bot.self.accept()# 發送消息給自己 bot.self.send('能收到嗎?') ``` Bot.file_helper文件傳輸助手

“`
Bot.friends(update=False)[源代碼]

獲取所有好友 參數: update – 是否更新 返回: 聊天對象合集 返回類型: wxpy.Chats ``` Bot.groups(update=False, contact_only=False)獲取所有群聊對象一些不活躍的群可能無法被獲取到,可通過在群內發言,或修改群名稱的方式來激活參數: update – 是否更新contact_only – 是否限于保存為聯系人的群聊返回: 群聊合集返回類型: wxpy.Groups Bot.mps(update=False)獲取所有公眾號參數: update – 是否更新返回: 聊天對象合集返回類型: wxpy.Chats Bot.chats(update=False)獲取所有聊天對象參數: update – 是否更新返回: 聊天對象合集返回類型: wxpy.Chats

搜索聊天對象

注解

通過 .search() 獲得的搜索結果 均為列表 若希望找到唯一結果,可使用 ensure_one()

搜索好友:

# 搜索名稱包含 'keil' 的深圳男性好友 found = bot.friends().search('keil', sex=MALE, city='深圳') # [<Friend: keil>] # 確保搜索結果是唯一的,并取出唯一結果 keil = ensure_one(found) # <Friend: keil>

搜索群聊:

# 搜索名稱包含 'wxpy',且成員中包含 `keil` 的群聊對象 wxpy_groups = bot.groups().search('wxpy', [keil]) # [<Group: wxpy 交流群 1>, <Group: wxpy 交流群 2>]

在群聊中搜素:

# 在剛剛找到的第一個群中搜索 group = wxpy_groups[0] # 搜索該群中所有浙江的群友 found = group.search(province='浙江') # [<Member: 浙江群友 1>, <Group: 浙江群友 2>, <Group: 浙江群友 3> ...]

搜索任何類型的聊天對象 (但不包含群內成員)

# 搜索名稱含有 'wxpy' 的任何聊天對象 found = bot.search('wxpy') # [<Friend: wxpy 機器人>, <Group: wxpy 交流群 1>, <Group: wxpy 交流群 2>]

加好友和建群

Bot.add_friend(user, verify_content='')添加用戶為好友參數: user – 用戶對象,或 user_nameverify_content – 驗證說明信息Bot.add_mp(user)添加/關注 公眾號參數: user – 公眾號對象,或 user_nameBot.accept_friend(user, verify_content='')接受用戶為好友參數: user – 用戶對象或 user_nameverify_content – 驗證說明信息返回: 新的好友對象返回類型: wxpy.Friend

自動接受好友請求:

# 注冊好友請求類消息 @bot.register(msg_types=FRIENDS) # 自動接受驗證信息中包含 'wxpy' 的好友請求 def auto_accept_friends(msg):# 判斷好友請求中的驗證文本if 'wxpy' in msg.text.lower():# 接受好友 (msg.card 為該請求的用戶對象)new_friend = bot.accept_friend(msg.card)# 或 new_friend = msg.card.accept()# 向新的好友發送消息new_friend.send('哈哈,我自動接受了你的好友請求')Bot.create_group(users, topic=None)創建一個新的群聊參數: users – 用戶列表 (不含自己,至少 2 位)topic – 群名稱返回: 若建群成功,返回一個新的群聊對象返回類型: wxpy.Group

其他

Bot.user_details(user_or_users, chunk_size=50)獲取單個或批量獲取多個用戶的詳細信息(地區、性別、簽名等),但不可用于群聊成員參數: user_or_users – 單個或多個用戶對象或 user_namechunk_size – 分配請求時的單批數量,目前為 50返回: 單個或多個用戶用戶的詳細信息Bot.upload_file(path)上傳文件,并獲取 media_id可用于重復發送圖片、表情、視頻,和文件參數: path – 文件路徑返回: media_id返回類型: strBot.join()堵塞進程,直到結束消息監聽 (例如,機器人被登出時)Bot.logout()登出當前賬號

控制多個微信 (多開)

僅需初始化多個 Bot 對象,即可同時控制多個微信:

bot1 = Bot()
bot2 = Bot()

總結

以上是生活随笔為你收集整理的Python进阶_wxpy学习:机器人对象的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。