Python实现定时在微信群发送消息

Python微信群定时发送消息

为了大家不忘记打卡,用Python写了个脚本每天上下班前自动在微信群发送打卡

此脚本使用itchat、datetime、time、schedule模块实现,具体使用方法可点击以下链接查看
[微信接口-itchat]
[日期模块-datetime]
[时间访问与转换-time]
[任务调度-schedule]

#!/usr/bin/env python
# -*- coding:utf-8 -*-
#import library
import schedule
import time
import itchat
import datetime
#登陆网页端微信,有的微信号可能登陆不上
itchat.auto_login(hotReload=True)
#查找微信群,替换"XXX"为你要发送消息的群名称即可,一定要先将群保存到通讯录才可以!!!!!!
user = itchat.search_chatrooms(name=u"XXX")
userName = user[0][u'UserName']

#循环打卡三次,每次间隔1秒
def job():
    for i in range(0, 3):
        itchat.send("打卡", toUserName=userName)
        time.sleep(1)
#每天固定时间运行job,可自定义引号中的时间
schedule.every().day.at("08:20").do(job)
schedule.every().day.at("17:35").do(job)
while True:
    schedule.run_pending()
    # 在运行时打印当前时间
    now = datetime.datetime.now()
    now_str = now.strftime('%Y-%m-%d %H:%M:%S')[11:]
    print('\r{}'.format(now_str), end='')

注意:Itchat 已经失效了

有这方面需求可以参考以下微信自动化相关项目:

  • WeChatPYAPI:《WeChatPYAPI》是基于PC端的Python接口,开发者可通过Python轻松调用。可进行二次开发,实现微信机器人、群管理等强大的功能!
  • wxBot:用Python包装Web微信协议实现的微信机器人框架。
  • wechaty:Wechaty是面向聊天机器人制造商的RPA(机器人流程自动化)SDK,可以帮助您在JavaScript,Python,Go和Java的6行中创建机器人,并提供跨平台支持,包括Linux,Windows,MacOS和Docker。
  • Mojo-Weixin:使用Perl语言编写的微信客户端框架,基于Mojolicious,要求Perl版本5.10+,可通过插件提供基于HTTP协议的api接口供其他语言或系统调用
  • itchat4j:是一个开源的微信个人号接口,使用Python调用微信从未如此简单。使用短短的几十行代码,你就可以完成一个能够处理所有信息的微信机器人。
  • 4
    点赞
  • 62
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
这里提供一个基于itchat库的Python实现,可以实现定时给指定微信群发送消息。 首先,需要安装itchat库,可以使用pip命令进行安装: ``` pip install itchat ``` 接着,可以使用以下代码实现定时发送消息的功能: ```python import itchat import time # 定义发送消息的函数 def send_msg(chatroom_name, msg): # 获取指定名称的微信群 chatrooms = itchat.search_chatrooms(name=chatroom_name) if chatrooms: # 获取第一个微信群的username chatroom_username = chatrooms[0]['UserName'] # 发送消息 itchat.send(msg, toUserName=chatroom_username) else: print('未找到名称为%s的微信群' % chatroom_name) # 登录微信 itchat.auto_login(hotReload=True) # 定时发送消息 while True: current_time = time.strftime('%H:%M:%S', time.localtime(time.time())) if current_time == '09:00:00': send_msg('微信群名称', '定时发送消息内容') time.sleep(1) ``` 其中,send_msg()函数用于发送消息到指定名称的微信群,chatroom_name为微信群的名称,msg为要发送消息内容。 在主函数中,首先使用itchat.auto_login()函数登录微信,然后进入无限循环,每秒钟获取当前时间,如果当前时间为09:00:00,则调用send_msg()函数发送消息。 需要注意的是,如果要定时发送消息,程序需要一直运行,因此需要使用类似nohup或者screen等工具将程序放在后台运行,或者将程序部署到服务器上。 另外,为了避免频繁登录微信被限制,可以使用itchat.auto_login(hotReload=True)函数进行热登录,如果已经登录过,则直接使用上一次登录的信息进行登录,避免频繁登录。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值