Python開發企業微信機器人每天定時發訊息例項
阿新 • • 發佈:2020-03-18
由於辦公需要“每天定時推送某訊息用來提醒群裡面所有人”,有同事提議用企業微信自帶的機器人來實現此功能。我覺得企業微信的這個工具還不錯,具體使用方法我來一一講述。
企業微信API
具體見官網說明:https://work.weixin.qq.com/help?person_id=1&doc_id=
企業微信機器人開發思路
想到幾種方式:
直接寫個sh指令碼,並用linux定時器執行此指令碼就可以了。這種方式簡單實用,不過缺點就是修改起來稍微麻煩一點
寫個Qt/VS客戶端程式,做好頁面和每天想推送的內容,還是有點麻煩
直接寫個後臺程式,指定時間推訊息吧,稍微快些(用Python更快)
Python開發企業微信機器人每天定時發訊息最終效果
Python開發企業微信機器人每天定時發訊息例項原始碼
#! -*- coding: utf-8 -*- """ Author: ZhenYuSha Create type_time: 2020-2-24 Info: 定期向企業微信推送訊息 """ import requests,json import datetime import time wx_url = "https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=4baf3c3c-f3ea-4554-9a45-9fbbb2076269" # 測試機器人1號 send_message = "測試:測試機器人1號………………………………!" def get_current_time(): """獲取當前時間,當前時分秒""" now_time = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S') hour = datetime.datetime.now().strftime("%H") mm = datetime.datetime.now().strftime("%M") ss = datetime.datetime.now().strftime("%S") return now_time,hour,mm,ss def sleep_time(hour,m,sec): """返回總共秒數""" return hour * 3600 + m * 60 + sec def send_msg(content): """艾特全部,併發送指定資訊""" data = json.dumps({"msgtype": "text","text": {"content": content,"mentioned_list":["@all"]}}) r = requests.post(wx_url,data,auth=('Content-Type','application/json')) print(r.json) def every_time_send_msg(interval_h=0,interval_m=1,interval_s=0,special_h="00",special_m="00",mode="special"): """每天指定時間傳送指定訊息""" # 設定自動執行間隔時間 second = sleep_time(interval_h,interval_m,interval_s) # 死迴圈 while 1 == 1: # 獲取當前時間和當前時分秒 c_now,c_h,c_m,c_s = get_current_time() print("當前時間:",c_now,c_s) if mode == "special": if c_h == special_h and c_m == special_m: # 執行 print("正在傳送...") send_msg(send_message) else: send_msg(send_message) print("每隔" + str(interval_h) + "小時" + str(interval_m) + "分" + str(interval_s) + "秒執行一次") # 延時 time.sleep(second) if __name__ == '__main__': every_time_send_msg(mode="no")
企業微信機器人設定具體步驟
建立一個群
最好是一個人的群,方便測試
建立好後,新增一個群機器人
給機器人起名字、新增頭像
建立好後,複製Webhook地址後,點完成
配置程式到supervisor中啟動
具體ini配置:
[program:Demo_QY_WX] directory = /root/software/python_Demo/Demo/Demo_QY_WX/ command= python3 -u Demo_QY_WX.py autostart = true autorestart=true startsecs = 5 user =root redirect_stderr = true stdout_logfile = /data/logs/supervisord/Demo_QY_WX.log [group:Demo] programs=Demo_QY_WX ;server,progname2 each refers to 'x' in [program:x] definitions priority=999 ; the relative start priority (default 999)
update一下OK
完成以上步驟後,你可以在企業微信上每天指定時間推送訊息,也可以間隔時間推送訊息咯。
Python開發企業微信機器人每天定時發訊息例項的完整程式碼在這裡下載
本文主要講解了使用企業微信API與Python開發企業微信機器人每天定時發訊息例項,更多關於