• 10分钟教你用Python打造天气机器人+关键字自动回复+定时发送


    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下载和拼接微信好友头像图片

  • 相关阅读:
    Python Django开发遇到的坑(版本不匹配)
    Mysql安装与问题合集
    git branch -r查看不了远程所有分支
    angularJS使用$http请求下载excel表格
    遍历formData对象数据
    按需使用CryptoJS之AES加密(CFB)模式
    git之创建、删除分支
    git pull时报错:Access Denied (拒绝访问)
    angularJS监听数据变化
    Angular-ui-router入门
  • 原文地址:https://www.cnblogs.com/dengfaheng/p/10029621.html
Copyright © 2020-2023  润新知