Python3 itchat实现微信定时发送群消息的实例代码


Posted in Python onJuly 12, 2019

一、简介

1,使用微信,定时往指定的微信群里发送指定信息。

2,需要发送的内容使用excel进行维护,指定要发送的微信群名、时间、内容。

二、py库

1,itchat:这个是主要的工具,用于连接微信个人账号接口。以下是一些相关的知识点网站。

2,xlrd:这个是用来读Excel文件的工具。

3,apscheduler:这个是用来定时调度时间的工具。

三、实例代码

# coding=utf-8
from datetime import datetime
import itchat
import xlrd
from apscheduler.schedulers.background import BlockingScheduler
import os
def SentChatRoomsMsg(name, context):
  itchat.get_chatrooms(update=True)
  iRoom = itchat.search_chatrooms(name)
  for room in iRoom:
    if room['NickName'] == name:
      userName = room['UserName']
      break
  itchat.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.nrows
scheduler = 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:
    continue
  date_value = date_value.strftime('%Y-%m-%d %H:%M:%S')
  textList[1] = date_value
  scheduler.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 + 1
if index == 1:
  print("***没有任务需要执行***")
scheduler.start()

总结

以上所述是小编给大家介绍的Python3 itchat实现微信定时发送群消息的实例代码 ,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

Python 相关文章推荐
Python 多线程的实例详解
Sep 07 Python
Python中使用支持向量机(SVM)算法
Dec 26 Python
Django中的Signal代码详解
Feb 05 Python
python sys,os,time模块的使用(包括时间格式的各种转换)
Apr 27 Python
python 编码规范整理
May 05 Python
Python3+django2.0+apache2+ubuntu14部署网站上线的方法
Jul 07 Python
flask中过滤器的使用详解
Aug 01 Python
Python unittest单元测试框架总结
Sep 08 Python
Python使用ffmpy将amr格式的音频转化为mp3格式的例子
Aug 08 Python
使用Python实现图像标记点的坐标输出功能
Aug 14 Python
以SQLite和PySqlite为例来学习Python DB API
Feb 05 Python
Python 窗体(tkinter)下拉列表框(Combobox)实例
Mar 04 Python
flask应用部署到服务器的方法
Jul 12 #Python
如何通过50行Python代码获取公众号全部文章
Jul 12 #Python
python flask 如何修改默认端口号的方法步骤
Jul 12 #Python
python pandas获取csv指定行 列的操作方法
Jul 12 #Python
Python3 执行Linux Bash命令的方法
Jul 12 #Python
Flask-WTF表单的使用方法
Jul 12 #Python
解决Python中pandas读取*.csv文件出现编码问题
Jul 12 #Python
You might like
windows xp下安装pear
2006/12/02 PHP
JS实现php的伪分页
2008/05/25 PHP
谷歌音乐搜索栏的提示功能php修正代码
2011/05/09 PHP
thinkPHP下的widget扩展用法实例分析
2015/12/26 PHP
在PHP 7下安装Swoole与Yar,Yaf的方法教程
2017/06/02 PHP
jquery异步请求实例代码
2011/06/21 Javascript
SOSO地图JS画出标注和中心点以html形式运行
2013/08/09 Javascript
jquery实现在页面加载完毕后获取图片高度或宽度
2014/06/16 Javascript
jquery中的工具使用方法$.isFunction, $.isArray(), $.isWindow()
2015/08/09 Javascript
jQuery操作动态生成的内容的方法
2016/05/28 Javascript
require.js 加载 vue组件 r.js 合并压缩的实例
2016/10/14 Javascript
利用js的闭包原理做对象封装及调用方法
2017/04/07 Javascript
Vue 2中ref属性的使用方法及注意事项
2017/06/12 Javascript
20170918 前端开发周报之JS前端开发必看
2017/09/18 Javascript
详解Js中的模块化是如何实现的
2017/10/18 Javascript
详解小程序输入框闪烁及重影BUG解决方案
2018/08/31 Javascript
VUE预渲染及遇到的坑
2018/09/03 Javascript
详解如何在vue项目中使用eslint+prettier格式化代码
2018/11/10 Javascript
使用jQuery动态设置单选框的选中效果
2018/12/06 jQuery
vue无限轮播插件代码实例
2019/05/10 Javascript
微信小程序class封装http代码实例
2019/08/24 Javascript
[59:42]Secret vs Alliacne 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/17 DOTA
使用Python来开发微信功能
2018/06/13 Python
Python输出指定字符串的方法
2020/02/06 Python
Django values()和value_list()的使用
2020/03/31 Python
python代码中怎么换行
2020/06/17 Python
HTML5之tabindex属性全面解析
2016/07/07 HTML / CSS
印度尼西亚最大和最全面的网络商城:Blibli.com
2017/10/04 全球购物
请用用Java代码写一个堆栈
2012/01/26 面试题
岗位竞聘演讲稿
2014/01/10 职场文书
初三开学计划书
2014/04/27 职场文书
2014年评职称工作总结
2014/11/20 职场文书
2014预防青少年违法犯罪工作总结
2014/12/10 职场文书
青年文明号汇报材料
2014/12/23 职场文书
会计专业自荐信范文
2015/03/05 职场文书
刑事起诉书范文
2015/05/19 职场文书