一氣之下開發(fā)了個群聊機器人
@TOC
項目背景
最近需要給同事發(fā)一份excel表,由別人提供放在共享盤,由于同事在乙方辦公原因,外網(wǎng)進不了內(nèi)網(wǎng)共享盤,需要每天更新了發(fā)送一次。不得不說,懶是第一生產(chǎn)力,天天做這么機械的操作就是對代碼的一種侮辱,所以一氣之下研究起來企業(yè)微信里的機器人了!
成果展示
如圖所示,完美執(zhí)行,加個定時任務就可以每天定時發(fā)送了
項目拆解
1.添加機器人
這里注意,測試時候發(fā)現(xiàn)
只有內(nèi)部群才可以添加機器人,外部群無法添加
可以添加多個機器人,
也可以把一個機器人添加到多個群,該機器人發(fā)送的消息,每個群都可以收到
2.機器人代碼
官方API地址參考
唯一不爽的是官方案例是curl工具寫的,而我是寫python的
不過代碼這東西,原理基本上差不多(裝一下),不過這個相似性還是存在的,這個簡單的幾句自己對著還是可以實現(xiàn)的
直接上代碼,解釋寫在代碼塊的注釋里
import requests, json import datetime import time wx_url = "https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=【你自己的機器人Key】" 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): """返回總共秒數(shù)""" return hour * 3600 + m * 60 + sec def send_msg(content): """艾特全部,并發(fā)送指定信息""" 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"): """每天指定時間發(fā)送指定消息""" # 設置自動執(zhí)行間隔時間 second = sleep_time(interval_h, interval_m, interval_s) # 死循環(huán) while True: # 獲取當前時間和當前時分秒 c_now, c_h, c_m, c_s = get_current_time() print("當前時間:", c_now, c_h, c_m, c_s) if mode == "special": if c_h == special_h and c_m == special_m: # 執(zhí)行 print("正在發(fā)送...") send_msg(send_message) else: send_msg(send_message) print("每隔" + str(interval_h) + "小時" + str(interval_m) + "分" + str(interval_s) + "秒執(zhí)行一次") # 延時 time.sleep(second) if __name__ == '__main__': every_time_send_msg(mode="no") # 文件推送測試 def wx_post(file): # 上傳文件接口地址 id_url = 'https://qyapi.weixin.qq.com/cgi-bin/webhook/upload_media?key=【你自己的機器人Key】&type=file' # open讀取文件,獲取上穿json data = {'file': open(file, 'rb')} # post jason # post 請求上傳文件 response = requests.post(url=id_url, files=data) json_res = response.json() # 返回轉為json media_id = json_res['media_id'] # 提取返回ID wx_url = 'https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=【你自己的機器人Key】' # 發(fā)送消息接口地址 data = {"msgtype": "file", "file": {"media_id": media_id}} # post json r = requests.post(url=wx_url, json=data) # post請求消息 return r # 返回請求狀態(tài) # 本地文件測試 wx_post("test.xlsx") # 測試共享文件 sharePath = '\\\\內(nèi)網(wǎng)IP地址\\xxx\\核對清單2021.03.05.xlsx' wx_post(sharePath)
3.設定時任務
設置定時任務,每天執(zhí)行即可
科技成就商業(yè)未來,數(shù)據(jù)看透問題本質!
我是詭途,感謝閱讀,歡迎轉發(fā)分享!
文章僅供學習交流,轉載請注明來源!
Python 機器人
版權聲明:本文內(nèi)容由網(wǎng)絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實的內(nèi)容,請聯(lián)系我們jiasou666@gmail.com 處理,核實后本網(wǎng)站將在24小時內(nèi)刪除侵權內(nèi)容。
版權聲明:本文內(nèi)容由網(wǎng)絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實的內(nèi)容,請聯(lián)系我們jiasou666@gmail.com 處理,核實后本網(wǎng)站將在24小時內(nèi)刪除侵權內(nèi)容。