Python itchat个人微信账号接口定时发送群消息
生活随笔
收集整理的這篇文章主要介紹了
Python itchat个人微信账号接口定时发送群消息
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
需求說明
媳婦兒又換工作了,這次是有關運營的,具體什么是運營我也不知道,有一項工作內容是使用微信定時的往微信群里發送指定的信息,來維護,她問我這個東西可不可以自動化,于是乎就研究了一下,找到了python的itchat這個工具,就寫了一下。
功能點
- 使用微信,定時往指定的微信群里發送指定信息
- 需要發送的內容使用excel進行維護,指定要發送的微信群名、時間、內容
技術點
- itchat:這個是主要的工具,用于連接微信個人賬號接口。以下是一些相關的知識點網站
- http://itchat.readthedocs.io/zh/latest/
- https://segmentfault.com/a/1190000009420701
- xlrd:這個是用來讀Excel文件的工具
- apscheduler:這個是用來定時調度時間的工具
- 以上工具可以使用pip install進行安裝
- 有些庫包無法進行在線安裝,可以在以下的網站搜索下載,然后使用pip install 文件名 這種方式進行安裝
- http://www.lfd.uci.edu/~gohlke/pythonlibs/
代碼
# coding=utf-8 from datetime import datetime import itchat import xlrd from apscheduler.schedulers.background import BlockingScheduler import osdef SentChatRoomsMsg(name, context):itchat.get_chatrooms(update=True)iRoom = itchat.search_chatrooms(name)for room in iRoom:if room['NickName'] == name:userName = room['UserName']breakitchat.send_msg(context, userName)print("發送時間:" + datetime.now().strftime("%Y-%m-%d %H:%M:%S") + "\n""發送到:" + name + "\n""發送內容:" + context + "\n")print("*********************************************************************************")scheduler.print_jobs()def loginCallback():print("***登錄成功***")def exitCallback():print("***已退出***")itchat.auto_login(hotReload=True, enableCmdQR=True, loginCallback=loginCallback, exitCallback=exitCallback) workbook = xlrd.open_workbook(os.path.join(os.path.dirname(os.path.realpath(__file__)), "chatroomsfile\AutoSentChatroom.xlsx")) # workbook = xlrd.open_workbook("D:\PyCharmCode\AutoLiulishouWechat\chatroomsfile\AutoSentChatroom.xlsx") sheet = workbook.sheet_by_name('Chatrooms') iRows = sheet.nrowsscheduler = BlockingScheduler() index = 1 for i in range(1, iRows):textList = sheet.row_values(i)name = textList[0]context = textList[2]float_dateTime = textList[1]date_value = xlrd.xldate_as_tuple(float_dateTime, workbook.datemode)date_value = datetime(*date_value[:5])if datetime.now() > date_value:continuedate_value = date_value.strftime('%Y-%m-%d %H:%M:%S')textList[1] = date_valuescheduler.add_job(SentChatRoomsMsg, 'date', run_date=date_value,kwargs={"name": name, "context": context})print("任務" + str(index) + ":\n""待發送時間:" + date_value + "\n""待發送到:" + name + "\n""待發送內容:" + context + "\n""******************************************************************************\n")index = index + 1if index == 1:print("***沒有任務需要執行***") scheduler.start()Excel文件截圖示例
啟動程序命令以及截圖示例
- 啟動程序命令:python main.py
- 在啟動后,界面會出現一個二維碼,用微信掃描即可登錄
總結
以上是生活随笔為你收集整理的Python itchat个人微信账号接口定时发送群消息的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: LeetCode | Climbing
- 下一篇: 【已解决】excel限制条件解除