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

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

前言

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


先来看看效果

注:欲下载本文代码文件,请移步留言区。

后台登录效果:

微信图片_20220421153203.jpg


微信关键字回复:

微信图片_20220421153206.jpg


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


注:欲下载本文代码文件,请移步留言区。

Part1

关键字回复

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


在这里呢,我们需要写一个函数装饰一下itchat.msg_register([TEXT])这个函数,表示收到消息以后,额外执行一些我们期望执行的操作。(不了解修饰器的同学自己再回去补一下基础)。

1# 如果对方发的是文字,则我们给对方回复以下的东西
2@itchat.msg_register([TEXT])
3def text_reply(msg):
4    match = re.search('天气',msg['Text'])
5    if match:
6        city = msg['Text'][msg['Text'].find("+")+1:]
7        weather_main(msg['FromUserName'], city)


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


注:欲下载本文代码文件,请移步留言区。

Part2

定时发送

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

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


比较简单吧。

如果大家对文中所叙内容还有疑问或想要交流心得建议,欢迎移步留言区!

相关文章
|
13天前
|
C语言 Python
[oeasy]python054_python有哪些关键字_keyword_list_列表_reserved_words
本文介绍了Python的关键字列表及其使用规则。通过回顾`hello world`示例,解释了Python中的标识符命名规则,并探讨了关键字如`if`、`for`、`in`等不能作为变量名的原因。最后,通过`import keyword`和`print(keyword.kwlist)`展示了Python的所有关键字,并总结了关键字不能用作标识符的规则。
29 9
|
2月前
|
测试技术 开发者 Python
对于Python中的异常要如何处理,raise关键字你真的了解吗?一篇文章带你从头了解
`raise`关键字在Python中用于显式引发异常,允许开发者在检测到错误条件时中断程序流程,并通过异常处理机制(如try-except块)接管控制。`raise`后可跟异常类型、异常对象及错误信息,适用于验证输入、处理错误、自定义异常、重新引发异常及测试等场景。例如,`raise ValueError("Invalid input")`用于验证输入数据,若不符合预期则引发异常,确保数据准确并提供清晰错误信息。此外,通过自定义异常类,可以针对特定错误情况提供更具体的信息,增强代码的健壮性和可维护性。
|
3月前
|
机器学习/深度学习 数据采集 传感器
使用Python实现深度学习模型:智能极端天气事件预测
使用Python实现深度学习模型:智能极端天气事件预测
198 3
WK
|
3月前
|
Python
Python保留关键字
Python 的保留关键字是语言中具有特殊意义的单词,不能用作变量名、函数名或类名等标识符。Python 3.x 版本中的保留关键字包括 `False`、`await`、`else`、`import` 等共 35 个。使用这些关键字作为标识符会导致语法错误。随着 Python 版本的更新,保留关键字可能会有所变化。
WK
58 6
|
3月前
|
机器学习/深度学习 数据可视化 TensorFlow
使用Python实现深度学习模型:智能天气预测与气候分析
使用Python实现深度学习模型:智能天气预测与气候分析
646 3
|
3月前
|
JSON 机器人 API
详解如何使用 Python 操作 Telegram(电报)机器人(一)
详解如何使用 Python 操作 Telegram(电报)机器人(一)
475 8
|
3月前
|
Java 程序员 C++
【Python】链式、嵌套调用、递归、函数栈帧、参数默认值和关键字参数
【Python】链式、嵌套调用、递归、函数栈帧、参数默认值和关键字参数
37 0
【Python】链式、嵌套调用、递归、函数栈帧、参数默认值和关键字参数
|
3月前
|
机器人 数据库 Python
详解如何使用 Python 操作 Telegram(电报)机器人(二)
详解如何使用 Python 操作 Telegram(电报)机器人(二)
206 2
|
3月前
|
人工智能 自然语言处理 机器人
用Python构建你的第一个聊天机器人
【10月更文挑战第7天】在这篇文章中,我们将一起探索如何利用Python编程语言和AI技术,一步步打造一个基础的聊天机器人。无论你是编程新手还是有一定经验的开发者,都能通过这个指南获得启发,并实现一个简单的对话系统。文章将引导你理解聊天机器人的工作原理,教你如何收集和处理用户输入,以及如何设计机器人的响应逻辑。通过动手实践,你不仅能够学习到编程技能,还能深入理解人工智能在语言处理方面的应用。
118 0
|
5月前
|
机器学习/深度学习 算法 机器人
使用Python实现深度学习模型:智能灾害响应与救援机器人
使用Python实现深度学习模型:智能灾害响应与救援机器人
89 16