wechat setu bot
v0.2.0
透過企業微信機器人,定時向企業微信群組推送隨機色圖。一次會推送三種格式, News
Text
Image
(因為企業微信有屏蔽功能,可能導致一些News
格式推送的圖片沒辦法打開,所以加上了後面兩種。同時, Text
可以設定是否@所有人)
使用docker快速建置基礎功能的色圖服務。
# 省略git和docker的安装过程,建议使用apt或yum快速解决
git clone https://github.com/zhangyu0310/wechat-setu-bot.git
cd wechat-setu-bot
docker build -t centos:setubot .
# 在 WECHAT_WEBHOOK="" 的双引号里,填入企业微信机器人的webhook
docker run --name setu -e WECHAT_WEBHOOK= " " -d centos:setubot
或者
# 无需要git,不拉源码,直接下载docker镜像
docker pull zhangyu0310/centos:setubot
# 在 WECHAT_WEBHOOK="" 的双引号里,填入企业微信机器人的webhook
docker run --name setu -e WECHAT_WEBHOOK="" -d centos:setubot
第一種方法相對節省流量,docker build是在本地完成的。第二種方法看起來簡單一些,不過需要拉鏡像,會消耗一定流量。
使用docker部署,僅提供了最基礎的功能,沒有圖片轉儲、訊息轉送之類的能力。複雜功能需要參考下面的參數說明配置。
. s etuServer.exe -at-all -dl-dir= " ./pic " -pic-msg -wechat-url= " xxx " -intervals=3600 -r18
參數 | 說明 | 備註 |
---|---|---|
-at-all | 具有該選項會自備@所有人 | bool型 |
-dl-dir | 指定下載圖片的路徑 | 僅在-pic-msg 被指定時生效 |
-dump-server | 圖片轉儲伺服器訊息 | ip:port |
-dump-url | 圖片轉儲域名 | 推送Text 格式訊息的轉儲圖片Url |
-help | 幫助 | |
-intervals | 色圖推送間隔時間(單位:秒) | 預設60,最小10(別把人家色圖服務搞掛了!) |
-keep | 保留本地原圖 | 推送Image 訊息需下載圖片,此參數表示是否保留圖片。預設為true |
-news-msg | 是否推送News 訊息 | bool類型,預設為true |
-once | 執行一次推送後立即退出 | 將定時邏輯分離,可使用crontab 等外部定時機制實現更靈活的控制 |
-pic-dump | 是否開啟圖片轉儲 | bool型 |
-pic-msg | 是否推送Image 訊息 | bool型,有這個參數的具體原因請見下 |
-pic-size | 可以下載不同尺寸的圖片 | 預設為original |
-r18 | 懂得都懂 | bool型 |
-setu-api-url | 色圖API Url | 預設為https://api.lolicon.app/setu/v1 |
-setu-transmit | 訊息傳遞 | 將所有訊息傳遞至轉儲服務,由其廣播分發,具體見下 |
-tags | 圖片標籤 | 可以指定推送某種帶有某個標籤的圖片 |
-transmit-server | 訊息傳遞目標伺服器 | ip:port |
-version | 列印版本 | |
-wechat-url | 微信機器人Webhook位址 | 必填 |
-wechat-url
啟動服務-pic-msg
這個參數企業微信會封鎖一些網站的News
訊息,為了能在點進連結前看到是否是喜歡的圖片,這裡做了Image
訊息的推播。
Image
訊息需要先將圖片下載到本機(所以需要指定-dl-dir
圖片的下載路徑)
由於企業微信要求圖片大小不能超過2M,所以下載好的圖片進行了大小調整。群組裡看到的很有可能不是原圖。
由於pixiv及其代理服務經常被牆,輸出的網域經常無法開啟。所以提供了轉儲功能,可以將服務部署在牆外伺服器上,然後轉儲到牆內伺服器。這個功能需要牆內的轉儲接收模組配合使用。
EasyPicServer
如果不希望只推送到一個webhook上,可以將訊息轉送至EasyPicServer,由其代為廣播。它已經實現了簡單的webhook註冊頁面,開箱即用。為什麼不直接使用這個服務廣播呢?為了節省跨境伺服器的流量費用。 。 。
THX Lolicon API
願我們的未來能有光芒照耀!