日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 >

Python进阶_wxpy学习:实用组件

發(fā)布時間:2025/3/15 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Python进阶_wxpy学习:实用组件 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

目錄:

  • 目錄:
  • 前言
  • 實用組件
  • 聊天機器人
    • 圖靈
    • 小 i
  • 查找共同好友
  • 忽略 ResponseError 異常

前言

學(xué)習(xí)完了python的基本概念和相應(yīng)操作后,就要進入實戰(zhàn)階段了,首先選的是和微信端口自動交互的wxpy。
本文操靠wxpy的官方文檔:官方文檔
機器人對象可以參考前文:機器人對象
聊天對象可以參考前文:聊天對象
消息處理可以參考前文:消息處理
微信監(jiān)控可以參考前文:微信監(jiān)控
探索調(diào)試可以參考前文:探索調(diào)試

實用組件

額外內(nèi)置了一些實用的小組件,可按需使用。
需要使用直接調(diào)用就行。

聊天機器人

目前提供了以下兩種自動聊天機器人接口。

圖靈

class wxpy.Tuling(api_key=None) 與 wxpy 深度整合的圖靈機器人內(nèi)置的 api key 存在調(diào)用限制,建議自行申請。免費申請: http://www.tuling123.com/參數(shù): api_key – 你申請的 api key bot = Bot() my_friend = ensure_one(bot.search('游否')) tuling = Tuling(api_key='你申請的 API KEY')# 使用圖靈機器人自動與指定好友聊天 @bot.register(my_friend) def reply_my_friend(msg):tuling.do_reply(msg)do_reply(msg, at_member=True) 回復(fù)消息,并返回答復(fù)文本參數(shù): ?msg – Message 對象 ?at_member – 若消息來自群聊,回復(fù)時 @發(fā)消息的群成員返回:答復(fù)文本返回類型:strreply_text(msg, at_member=True) 僅返回消息的答復(fù)文本參數(shù): ?msg – Message 對象 ?at_member – 若消息來自群聊,回復(fù)時 @發(fā)消息的群成員返回:答復(fù)文本返回類型:str

小 i

class wxpy.XiaoI(key, secret) 與 wxpy 深度整合的小 i 機器人需要通過注冊獲得 key 和 secret免費申請: http://cloud.xiaoi.com/參數(shù): ?key – 你申請的 key ?secret – 你申請的 secretbot = Bot() my_friend = ensure_one(bot.search('寒風(fēng)')) xiaoi = XiaoI('你申請的 Key', '你申請的 Secret')# 使用小 i 機器人自動與指定好友聊天 @bot.register(my_friend) def reply_my_friend(msg):xiaoi.do_reply(msg)do_reply(msg)[源代碼] 回復(fù)消息,并返回答復(fù)文本參數(shù): msg – Message 對象 返回: 答復(fù)文本 reply_text(msg)[源代碼] 僅返回答復(fù)文本參數(shù): msg – Message 對象,或消息文本 返回: 答復(fù)文本

查找共同好友

wxpy.mutual_friends(*args) 找到多個微信用戶的共同好友參數(shù): args – 每個參數(shù)為一個微信用戶的機器人(Bot),或是聊天對象合集(Chats) 返回: 共同好友列表 返回類型: wxpy.Chats bot1 = Bot() bot2 = Bot()# 打印共同好友 for mf in mutual_friends(bot, bot2):print(mf)確保查找結(jié)果的唯一性 wxpy.ensure_one(found) 確保列表中僅有一個項,并返回這個項,否則拋出 ValueError 異常通常可用在查找聊天對象時,確保查找結(jié)果的唯一性,并直接獲取唯一項參數(shù): found – 列表 返回: 唯一項 bot = Bot() # 確保只找到了一個叫"游否"的好友,并返回這個好友 my_friend = ensure_one(bot.search('游否')) # <Friend: 游否>在多個群中同步消息 wxpy.sync_message_in_groups(msg, groups, prefix=None, suffix=None, raise_for_unsupported=False, run_async=True)[源代碼] 將消息同步到多個微信群中 支持以下消息類型 ?文本 (TEXT)?視頻(VIDEO)?文件 (ATTACHMENT)?圖片/自定義表情 (PICTURE)?但不支持表情商店中的表情?名片 (CARD)?僅支持公眾號名片,以及自己發(fā)出的個人號名片?分享 (SHARING)?會被轉(zhuǎn)化為 標(biāo)題 + 鏈接 形式的純文本?語音 (RECORDING)?會以文件方式發(fā)送?地圖 (MAP)?會轉(zhuǎn)化為 位置名稱 + 地圖鏈接 形式的文本消息參數(shù): ?msg (Message) – 需同步的消息對象 ?groups (Group) – 需同步的群列表 ?prefix (str) – ?轉(zhuǎn)發(fā)時的 前綴 文本,原消息為文本時會自動換行 ?若不設(shè)定,則使用默認(rèn)前綴作為提示?suffix (str) – ?轉(zhuǎn)發(fā)時的 后綴 文本,原消息為文本時會自動換行 ?默認(rèn)為空?raise_for_unsupported (bool) – 為 True 時,將為不支持的消息類型拋出 NotImplementedError 異常?run_async (bool) – 是否異步執(zhí)行,為 True 時不堵塞線程my_groups = [group1, group2, group3 ...]@bot.register(my_groups, except_self=False) def sync_my_groups(msg):sync_message_in_groups(msg, my_groups)檢測頻率限制 wxpy.detect_freq_limit(func, *args, **kwargs) 檢測各類 Web 微信操作的頻率限制,獲得限制次數(shù)和周期參數(shù): ?func – 需要執(zhí)行的操作函數(shù) ?args – 操作函數(shù)的位置參數(shù) ?kwargs – 操作函數(shù)的命名參數(shù)返回:限制次數(shù), 限制周期(秒數(shù))例如,測試發(fā)送文本消息的頻率限制:bot = Bot('test.pkl')# 定義需要檢測的操作 def action():bot.file_helper.send()# 執(zhí)行檢測 result = detect_freq_limit(action) # 查看結(jié)果 print(result) # (120, 120.111222333)

忽略 ResponseError 異常

wxpy.dont_raise_response_error(func) 裝飾器:用于避免被裝飾的函數(shù)在運行過程中拋出 ResponseError 錯誤

總結(jié)

以上是生活随笔為你收集整理的Python进阶_wxpy学习:实用组件的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。