Samoy的小窝

千里之行,始于足下 万行代码,始于指下

一只默默工作的程序猿


欢迎光临Samoy的小窝

Python实现微信的发送消息,定时发送,自动回复功能

代码如下:

import itchat
import json
from itchat.content import *
from apscheduler.schedulers.blocking import BlockingScheduler

# 首先登录微信,此方法调用后屏幕上会弹出一个二维码,使用手机微信扫描该二维码即可登录微信.
"""
hotReload表示热部署,这样调试的时候就不用频繁登录了
"""
itchat.auto_login(hotReload=True)

# 获取好友列表,调用此方法后可得到好友列表
friends = itchat.get_friends()

# 我们可以使用json库将好友列表转换成json格式
print(json.dumps(friends))

# 接下来我们试一下使用脚本给好友发送消息
"""
msg:表示你要发送的消息内容
toUsername:表示你要发送的好友,这里用我自己进行测试,
可以看到这个toUserName的值是和刚才我截图的UserName是相同的,当然这个UserName不是固定的,每一次登录可能都会不一样
"""
itchat.send(msg="这条消息是用python脚本发送的", toUserName="@4a5536adf04c72ddf70279f99e3ffe7f643c299c759ec42ce057358543f3c811")

# 接下来我们进行群发测试,当然所谓群发就是利用循环逐条进行发送,
"""
下面的好友列表是我微信的大号和小号的UserName
"""
group = ["@4a5536adf04c72ddf70279f99e3ffe7f643c299c759ec42ce057358543f3c811",
         "@7f25ca9194de3720118ef94ada6552ff8688c5b12c377768a4874a632be7a62f"]
for friend in group:
    itchat.send_msg("这条消息是用python脚本进行群发的", friend)


# 接下我们进行自动回复测试,还是利用我自己的号进行测试
@itchat.msg_register(msgType=TEXT, isFriendChat=True, isGroupChat=False, isMpChat=False)
def text_reply(msg):
    """
    自动回复信息
    msgType表示发过来的消息类型,TEXT表示回复发送过来的文本消息,另外还有图片/视频/音频等.
    isFriendChat表示是否回复好友发过来的消息
    isGroupChat表示是否回复群消息
    isMapChat表示是否回复公众号消息
    """
    msg.user.send("我已经收到了您的消息:%s,请等待回复" % msg.text)


# 接下来我们测试定时发送
def timer_task():
    itchat.send("每天起床第一句,先给自己打个气", toUserName="@4a5536adf04c72ddf70279f99e3ffe7f643c299c759ec42ce057358543f3c811")


"""
我们利用APScheduler框架进行定时操作,比如想每天早上7点给男神/女神发早安消息,
这里还是以我自己为例.
"""
scheduler = BlockingScheduler()
scheduler.add_job(timer_task, 'cron', day_of_week='1-7', hour=7, minute=0)
scheduler.start()

# 运行程序
itchat.run()
最近的文章

利用抓包工具获取今日头条的文章信息

安装Windows推荐使用Fiddler,Mac推荐使用Charles。两个工具均属于收费应用,请自行百度下载地址。由于笔者使用的是Mac,接下来以Charles为例来做说明,Fiddler与其大同小异。Charles配置首先我们打开Charles,界面如下:此时没有任何信息,接下来我们点击Proxy->Proxy Settings,界面如下:然后我们来找到电脑的IP地址,命令行输入ifconfig或者在系统偏好设置->网络中查看iPhone配置切记:先将手机上开启的VPN关掉...…

更早的文章

Python实现爬取百度地图全国小区数据

代码如下:import requestsimport osimport jsonimport math# 由于使用了requests第三方库,因此headers可能暂时不需要headers = { 'Cookie': ''' BIDUPSID=2F56B41C608DF5A236E69D17F52E62DF; PSTM=1529402270; BAIDUID=85D43369E6DD3618039C668117839489:FG=1; BDUSS=hTODh1UktSN...…