摘要:利用微信個(gè)人號(hào)接口只要是個(gè)微信號(hào)就能擔(dān)當(dāng)發(fā)送日志警報(bào)的重任,不僅可以發(fā)送到個(gè)人同時(shí)還能發(fā)送到群組。是基于和實(shí)現(xiàn)的一個(gè)可以將你的網(wǎng)站爬蟲腳本等其他應(yīng)用中各種消息日志報(bào)警運(yùn)行結(jié)果等發(fā)送到微信的工具。
前言
筆者所在公司項(xiàng)目的報(bào)警信息會(huì)通過釘釘發(fā)送到群組或個(gè)人,這樣如果服務(wù)出現(xiàn)了問題我們都會(huì)第一時(shí)間收到提醒并進(jìn)行處理。
某日從釘釘收到報(bào)警信息的我突發(fā)奇想,如果自己的項(xiàng)目也能在出現(xiàn)問題的第一時(shí)間通過社交工具通知我豈不美 ( sang ) 滋 ( xin )滋( bing ) ( kuang )。
通過微信公眾平臺(tái)進(jìn)行報(bào)警很容易,申請(qǐng)公眾平臺(tái)后寫個(gè)報(bào)警后臺(tái)或者使用企業(yè)微信進(jìn)行接口信息發(fā)送。但不管是公眾平臺(tái)還是企業(yè)微信對(duì)于普通用戶的入口太深,而且個(gè)人申請(qǐng)還需要提交資料等等一系列事情,顯然不是我想要的結(jié)果。
之前 web 版微信的協(xié)議已經(jīng)有大神解析過并封裝了工具,之后又有優(yōu)秀的作者不斷完善封裝了更好用的微信個(gè)人號(hào)接口。
利用微信個(gè)人號(hào)接口只要是個(gè)微信號(hào)就能擔(dān)當(dāng)發(fā)送日志警報(bào)的重任,不僅可以發(fā)送到個(gè)人同時(shí)還能發(fā)送到群組。
但是所有微信機(jī)器人都是自己主動(dòng)運(yùn)行,注冊(cè)會(huì)話,沒有辦法接收外部程序的日志或報(bào)警,因此我就依托 wxpy 寫了 wechat_sender。
wechat_senderwechat_sender 是基于 wxpy 和 tornado 實(shí)現(xiàn)的一個(gè)可以將你的網(wǎng)站、爬蟲、腳本等其他應(yīng)用中各種消息 (日志、報(bào)警、運(yùn)行結(jié)果等) 發(fā)送到微信的工具。
使用 wechat_sender 很簡單,只需要有個(gè)人微信號(hào),然后用個(gè)人微信號(hào)啟動(dòng) wechat_sender 服務(wù)。
pip install wechat_sender
登錄微信并啟動(dòng) wechat_sender 服務(wù).
from wxpy import * from wechat_sender import * bot = Bot() # 這里會(huì)掃碼登錄,如果在服務(wù)器中請(qǐng)使用 console_qr 參數(shù) listen(bot) # 之后 wechat_sender 將持續(xù)運(yùn)行等待接收外部消息
在另一個(gè)腳本中向微信發(fā)送消息.
from wechat_sender import Sender Sender().send("Hello From Wechat Sender") # Hello From Wechat Sender 這條消息將通過 1 中登錄微信的文件助手發(fā)送給你
當(dāng)然,wechat_sender 支持 添加 logging handler 的方式直接繼承進(jìn)已有的項(xiàng)目中,例如我的個(gè)人的網(wǎng)站、爬蟲腳本等,不必修改以前的代碼,只需要在 logger 中增加一個(gè) wechat_sender 的 loghandler 就可以把相關(guān)日志直接發(fā)送到微信中。
舉個(gè)栗子:
# spider.py # 假如在一個(gè)爬蟲腳本,我們想讓此腳本的警告信息直接發(fā)到微信 # 記得要先用 listen 運(yùn)行 wechat_sender 服務(wù) import logging from wechat_sender import LoggingSenderHandler logger = logging.getLogger(__name__) # spider code here def test_spider(): ... logger.exception("EXCEPTION: XXX") def init_logger(): sender_logger = LoggingSenderHandler("spider", level=logging.EXCEPTION) logger.addHandler(sender_logger) if __name__ == "__main__": init_logger() test_spider()
最后類似效果是這樣滴:
當(dāng)然,wechat_sender 不僅可以用來發(fā)送日志和警報(bào),你也可以把他當(dāng)做日程、會(huì)議提醒的利器。
wechat_sender 提供了周期消息和延時(shí)消息的功能:
# coding: utf-8 import datetime from wechat_sender import Sender sender = Sender() time = datetime.datetime.now()+datetime.timedelta(hours=1) sender.delay_send(content="測試內(nèi)容", time=time, title="測試標(biāo)題", remind=datetime.timedelta(minutes=59))
如果返回正常,1 分鐘后你將收到這條消息時(shí)間是 1 小時(shí)后的消息提醒:
#標(biāo)題:測試標(biāo)題 #時(shí)間:2017-06-07 12:56:16 #內(nèi)容:延遲消息測試其他玩法
作為一只猿,頸椎神馬的需要保護(hù)好,公司提供了理療服務(wù),但無奈名額有限,每次預(yù)約都很困難,所以我決定寫個(gè)監(jiān)控腳本,當(dāng)有預(yù)約名額時(shí)通過微信將可預(yù)約地址發(fā)給我。
寫好監(jiān)控腳本,然后部署到服務(wù)器 celery 周期任務(wù)中,每隔 1 分鐘進(jìn)行一次查詢,同時(shí)在服務(wù)器上啟動(dòng) wechat_sender 服務(wù)。
晚上打完球看手機(jī)收到了 阿綠( wechat_sender ) 發(fā)來的消息,果斷去預(yù)約一發(fā)。
更多可能掃描二維碼,驗(yàn)證信息輸入 "wechat_sender" 或 "加群" 進(jìn)入微信交流群嘗試更多玩法
項(xiàng)目主頁:https://github.com/bluedazzle...
詳細(xì)文檔:http://wechat-sender.readthed...
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://m.hztianpu.com/yun/44419.html
摘要:學(xué)習(xí)筆記七數(shù)學(xué)形態(tài)學(xué)關(guān)注的是圖像中的形狀,它提供了一些方法用于檢測形狀和改變形狀。學(xué)習(xí)筆記十一尺度不變特征變換,簡稱是圖像局部特征提取的現(xiàn)代方法基于區(qū)域圖像塊的分析。本文的目的是簡明扼要地說明的編碼機(jī)制,并給出一些建議。 showImg(https://segmentfault.com/img/bVRJbz?w=900&h=385); 前言 開始之前,我們先來看這樣一個(gè)提問: pyth...
摘要:由此觀之,實(shí)現(xiàn)?;鶊D的核心在于計(jì)算出以上的這些點(diǎn)坐標(biāo)。減少邊交叉當(dāng)數(shù)據(jù)量到一定程度的時(shí)候,?;鶊D中的邊會(huì)出現(xiàn)重疊現(xiàn)象,造成一定的視覺混亂。綜上,?;鶊D是一個(gè)展現(xiàn)數(shù)據(jù)流非常好用的視圖,感興趣的同學(xué)可以自己實(shí)現(xiàn)一個(gè)試試。 原文地址:https://geekplux.com/2018/08/28/how-to-implement-sankey-diagram.html 什么是?;鶊D sho...
摘要:本文以開發(fā)一個(gè)類似語音口令紅包小程序?yàn)槔?,向您講解如何使用阿里云函數(shù)計(jì)算快速構(gòu)建微信小程序的服務(wù)端。 前言 這篇文章適合所有的想微信小程序開發(fā)新手、老鳥以及想準(zhǔn)備學(xué)習(xí)開發(fā)微信小程序的程序猿。本文以開發(fā)一個(gè)類似語音口令紅包小程序?yàn)槔?,向您講解如何使用阿里云函數(shù)計(jì)算快速構(gòu)建微信小程序的服務(wù)端。通過本文,您將會(huì)了解以下內(nèi)容: demo概覽 傳統(tǒng)服務(wù)器架構(gòu) VS Serverless架構(gòu) S...
閱讀 1143·2021-11-25 09:43
閱讀 757·2021-11-22 14:45
閱讀 3906·2021-09-30 09:48
閱讀 1124·2021-08-31 09:41
閱讀 2045·2019-08-30 13:52
閱讀 2032·2019-08-30 11:24
閱讀 1413·2019-08-30 11:07
閱讀 1019·2019-08-29 12:15