01 前言

Hello,各位小伙伴。自上次我们介绍了Python实现天气预报的功能以后,那个小程序还有诸多不完善的地方,今天,我们再次来完善一下我们的小程序。比如我们想给机器人发“天气”等关键字,它就自动获取天气发送给我们,或者准点准时给我们发送天气预报等消息。

02 先来看看效果

后台登录效果:

微信关键字回复:

怎样,心动吗?废话不多说,开始干活吧。

03 关键字回复

前面我们已经实现了天气的获取和发送,现在来利用itchat的几个功能,实现关键词的提取和发送相关信息吧。

在这里呢,我们需要写一个函数装饰一下

1itchat.msg_register([TEXT])这个函数,表示收到消息以后,额外执行一些我们期望执行的操作。(不了解修饰器的同学自己再回去补一下基础)。
2# 如果对方发的是文字,则我们给对方回复以下的东西
3@itchat.msg_register([TEXT])
4def text_reply(msg):
5    match = re.search('天气',msg['Text'])
6    if match:
7        city = msg['Text'][msg['Text'].find("+")+1:]
8        weather_main(msg['FromUserName'], city)

这部分操作也很简单,首先获取我们收到的文本消息,然后在里面找找看有没有我们想要的关键词,比如“天气”等,最后,将天气后面的城市给提取出来,获取必要的信息后,将发信人,城市传给上节课写好的weather_main()函数里面,实现消息发送。当然,上节课的weather_main()也要做相应修改,不过改动不大,大家看最后代码即可。

04 定时发送

然后再来看看定时发送的功能吧。这个功能就比较简单了,一个sleep函数睡到底就行。主要是设置隔多长时间给想关的人发送天气预报。

1def timer(n):
2    '''''
3    每n秒执行一次
4    '''
5    while True:
6        weather_main("要发送的人备注", "城市")  # 此处为要执行的任务
7        time.sleep(n)

比较简单吧。

05 完整代码

欲获取代码,请关注我们的微信公众号【程序猿声】,在后台回复:pycode05。即可获取。

微信公众号

推荐文章:10分钟教你用Python做个打飞机小游戏超详细教程
推荐文章:10分钟教你用python下载和拼接微信好友头像图片

10分钟教你用Python打造天气机器人+关键字自动回复+定时发送的更多相关文章

  1. 【python】10分钟教你用python打造贪吃蛇超详细教程

    10分钟教你用python打造贪吃蛇超详细教程 在家闲着没妹子约, 刚好最近又学了一下python,听说pygame挺好玩的.今天就在家研究一下, 弄了个贪吃蛇出来.希望大家喜欢. 先看程序效果: 0 ...

  2. 10分钟教你用Python打造微信天气预报机器人

    01 前言 最近武汉的天气越来越恶劣了.动不动就下雨,所以,拥有一款好的天气预报工具,对于我们大学生来说,还真是挺重要的了.好了,自己动手,丰衣足食,我们来用Python打造一个天气预报的微信机器人吧 ...

  3. “猜你喜欢”的背后揭秘--10分钟教你用Python打造推荐系统

    欲直接下载代码文件,关注我们的公众号哦!查看历史消息即可! 话说,最近的瓜实在有点多,从我科校友李雨桐怒锤某男.陈羽凡吸毒被捕.蒋劲夫家暴的三连瓜,到不知知网翟博士,再到邓紫棋解约蜂鸟.王思聪花千芳隔 ...

  4. 【python】10分钟教你用python下载和拼接微信好友头像图片

    前言 相信微信大家是用得再多也不过了.那么,对于python+微信,又能玩出什么新的花样呢?下面小编就给大家带来一个好玩的东西.用python下载所有的微信好友的头像,然后拼接成一张大图.这样,大家就 ...

  5. 【python】10分钟教你用python如何正确把妹

    前言 今天没妹子约,刚好研究一下.如何用神奇的python打造一个把妹神器吧.看完这个,你们就能走向人生巅峰,迎娶白富美啦. 我知道你们想看看效果 image 当然啦,这只是测试版的效果,真正的版本可 ...

  6. 10分钟教你用Python玩转微信之好友性别比例统计分析

    01 前言+效果展示 想必,微信对于大家来说,是再熟悉不过的了.那么,大家想不想探索一下微信上的各种奥秘呢?今天,我们一起来简单分析一下微信上的好友性别比例吧~废话不多说,开始干活. 结果如下: 02 ...

  7. 10分钟教你用Python玩转微信之抓取好友个性签名制作词云

    01 前言+展示 各位小伙伴我又来啦.今天带大家玩点好玩的东西,用Python抓取我们的微信好友个性签名,然后制作词云.怎样,有趣吧~好了,下面开始干活.我知道你们还是想先看看效果的. 后台登录: 词 ...

  8. 【python】10分钟教你用python一行代码搞点大新闻

    准备 相信各位对python的语言简洁已经深有领会了.那么,今天就带大家一探究竟.看看一行python代码究竟能干些什么大新闻.赶紧抄起手中的家伙,跟我来试试吧. 首先你得先在命令行进入python. ...

  9. 10分钟教你用Python实现微信自动回复

    01 前言&&效果展示 相信大家都有忙碌的时候,不可能一直守在微信上及时回复消息.但微信又不能像QQ一样设置自动回复.无妨,今天,我们就来用Python实现微信的自动回复功能吧,并且把 ...

随机推荐

  1. Golang之函数练习

    小例题: package main import "fmt" /* 函数练习, 可变参数使用 写一个函数add 支持1个或多个int相加,并返回相加结果 写一个函数concat,支 ...

  2. 初次使用Xcode遇到的问题及解决方法

    使用的是Xcode 5.1.1 版本 1.调整字体 点击左上角的Xcode->Preference->Font  & colors .需要注意到是,只有选择下图中黑色框框里面的一行 ...

  3. [SoapUI]怎样获取上一个Test Step的名字

    def currentStepInd = context.currentStepIndex def previousStep = testRunner.testCase.getTestStepAt(c ...

  4. mongodb的安装与启动(centos7)

    公司迁移mongodb,查了半天资料,各种考证,各种资讯,最后我选择很野蛮的直接把库和日志直接scp过来了....... 记录下如何安装和启动mongodb: 1.解压mongodb: [root@i ...

  5. 查看linux服务器状态常用命令

    最近发现大数据技术的一些部署.高可用.集群等和网站的负载均衡.自动化运维.灾备等其实有很多知识都是重合的,要学好linux运维相关,在大数据的研究上也会有所提高.既然工作需要去系统的去学习linux运 ...

  6. 初识STM32标准库

    1.CMSIS 标准及库层次关系 CMSIS 标准中最主要的为 CMSIS 核心层,它包括了: STM32标准库可以从官网获得: 在使用库开发时,我们需要把 libraries 目录下的库函数文件添加 ...

  7. Oracle EBS Request Status: Pending

    如果提交请求以后,状态一直是pending状态,可以在"工具"打开"Manager",查看一下Maximum是否有设置错,另外pending的数量当前是多少. ...

  8. [翻译]Writing Custom DB Engines 编写定制的DB引擎

    Writing Custom DB Engines  编写定制的DB引擎   FastReport can build reports not only with data sourced from ...

  9. Android下拉刷新控件android-Ultra-Pull-To-Refresh 使用

    一.gitHub地址及介绍 https://github.com/liaohuqiu/android-Ultra-Pull-To-Refresh android-Ultra-Pull-To-Refre ...

  10. 8.使用Exists监控ZNode的三大Change事件

    一. zookeeper是一个分布式的协调程序(所有程序都是通过订阅它来相互感知)   1. tcp(长链接) + watcher server ->client client ->ser ...