若響應中的錯誤碼不為 0,程式將丟擲 responseerror 異常。
class wxpy.responseerror
(err_code, err_msg)[源**]
當 baseresponse 的返回值不為 0 時丟擲的異常
err_code
錯誤碼 (int)
err_msg
錯誤訊息 (文字),但可能為空
捕捉異常:
try:
# 嘗試向某個群員傳送訊息
group.members[3].send('hello')
except responseerror as e:
# 若群員還不是好友,將丟擲 responseerror 錯誤
print(e.err_code, e.err_msg) # 檢視錯誤號和錯誤訊息
通常來說,每個錯誤碼表示一種型別的錯誤。
以下為一些常見的已知錯誤碼。歡迎提交 pr 進行完善。
「` 1205
通常因為操作頻率過高。需要控制頻率,避免再次引起該錯誤。
通常每種操作可有多層頻率限制,而每層頻率限制分為兩個引數:
週期、次數,分布表示: 在 x 週期內,只能傳送 y 個請求。
舉個例子:
對於 傳送訊息 操作,可能會是這樣 (數值為虛構):
層 限制週期 限制次數
1 2 分鐘 120
2 10 分鐘 300
3 1 小時 1000
4 24 小時 2000
可能會有使用者在 1 分鐘內狂發 100 條訊息。
但這樣的頻率不可能維持一整天,所以一天內 3000 條是足夠的。
通常因為操作物件不為好友關係。例如嘗試向一位不為好友的群員傳送訊息時,會引起這個錯誤。
1100, 1101, 1102
通常表示機械人已經掉線,需要重新登入。
請重新初始化 bot 物件,並重新註冊訊息。
因為重新登入後,聊天物件的 user_name 可能已經變化,所以原先的訊息註冊也會因此失效。
Python高階 wxpy學習 用微信監控你的程式
wxpy 提供以下兩種方式來實現這個需求。wxpy.get wechat logger receiver none,name none,level 30 源 引數 receiver 當為 none,true 或字串時,將以該值作為 cache path 引數啟動乙個新的機械人,併發送到該機械人的 檔...
python 高階學習
2 10 匿名函式 lambda 的理解 print filter lambda s s and len s.strip 0,test none,str end lambda s 相當於 def f s s and len s.strip 相當於 return s and len s.strip l...
Python高階學習
1 2 私有屬性是以雙下劃線 開頭的屬性,在類的外部訪問私有屬性將會丟擲異常,提示沒有這個屬性。3 45 class animal 6 location china 7 def init self,name,age 8 self.name name 9 self.age age 1011 locat...