Nonebot QQ机器人插件一:实时天气获取
QQ机器人插件一:实时天气获取
import nonebot
from nonebot import on_command,on_keyword
from nonebot.rule import to_me
from nonebot.matcher import Matcher
from nonebot.adapters import Message
from nonebot.params import Arg, CommandArg, ArgPlainText
import json,urllib
from urllib.parse import urlencode
from urllib.request import urlopen__plugin_name__ = 'weather'
__plugin_usage__ = '用法: 天气预报,根据输入的城市返回当日天气。'weather = on_keyword({"天气", "天气预报"})
# on_keyword是接收某关键词的意思,api@weather.handle()
async def handle_first_receive(matcher: Matcher, args: Message = CommandArg()):plain_text = args.extract_plain_text() # 首次发送命令时跟随的参数,例:/天气 上海,则args为上海if plain_text:matcher.set_arg(("city",args)) # 如果用户发送了参数则直接赋值@weather.got("city", prompt="你想查询哪个城市的天气呢?")
async def handle_city(city: Message = Arg(), city_name: str = ArgPlainText("city")):city_weather = await get_weather(city_name)await weather.finish(city_weather)# 在这里编写获取天气信息的函数
async def get_weather(city: str) -> str:params = {'app': 'weather.today','cityNm': '北京','appkey': ' ','sign': '自己申请','format': 'json',}url = 'http://api.k780.com'params['cityNm'] = cityparams = urlencode(params)f = urlopen('%s?%s' % (url, params))nowapi_call = f.read()a_result = json.loads(nowapi_call)if a_result:if a_result['success'] != '0':result = a_result['result']return f"日期: {result['days']}\n星期:{result['week']}\n城市:{result['citynm']}\n温度范围:{result['temperature']}\n实时温度:{result['temperature_curr']}\n天气:{result['weather']}"else:return f"你想查询的城市 {city} 暂不支持,请重新输入!"
Nonebot QQ机器人插件一:实时天气获取相关推荐
- Nonebot QQ机器人插件三:王者荣耀猜英雄游戏
Nonebot QQ机器人插件三:王者荣耀猜英雄游戏 1. 数据录入 首先需要获取相应数据这里可以直接访问**「heros.xlsx」https://www.aliyundrive.com/s/3iN ...
- Nonebot QQ机器人插件九:qq群聊天记录词云图
QQ机器人插件九:qq群聊天记录词云图 1. 将实时聊天记录保存到数据库 安装数据库可自行到网上查找,本文仅使用mysql数据库为例.linux下mysql数据库安装可参考(59条消息) Linux安 ...
- Nonebot QQ机器人插件五:随机网易云音乐
QQ机器人插件五:随机网易云音乐 1. 导入需要使用的包 import nonebotfrom nonebot import on_keyword # 事件响应器函数 from nonebot.typ ...
- Nonebot QQ机器人插件六:随机笑话(语音)
QQ机器人插件六:随机笑话(语音) 1. 导入需要使用的包 import nonebotfrom nonebot import on_keyword # 事件响应器函数 from nonebot.ty ...
- Nonebot QQ机器人插件四:每日一图
QQ机器人插件四:每日一图 1. 导入需要使用的包 import nonebotfrom nonebot import on_keyword # 事件响应器函数 from nonebot.typing ...
- 【最新】QQ机器人插件
QQ机器人 前言 QQ机器人功能展示 一.如何白嫖(用别人的插件) 二.如何自力更生(自己写) 前言 本文旨在如何为你的QQ机器人添加插件,也就是添加机器人的功能.添加插件的方法有两种,一种是用别人写 ...
- Python实现快递查询-QQ机器人插件
目录 1.API接口请求 2.创建成新的QQ插件 Python实现快递查询功能.Python爬虫一直是一样好东西!只要想就可以爬取自己想要的对象!本次,将使用Python3.9即requests库AP ...
- 从零开始在服务器上搭建QQ机器人——插件(二)
一.简介 在做完基本构建之后,自己的机器人旧可以开始使用了,但是只有一个内置的/echo命令.功能不够丰富. 因此,需要安装插件来获得更多的功能. 二.配置 参照nonebot的官网,编写命令 | N ...
- qq机器人插件之奥运奖牌获得数量
在之前的文章讲到了如何制作机器人,传送门:qq机器人制作 今天呢,我来给大家分享一个插件,先看效果: 交流群:970353786,非诚勿扰. 源码如下: """ 作者:星 ...
- qq机器人插件之舔狗日记
在之前的文章讲到了如何制作机器人,传送门:qq机器人制作 今天呢,我来给大家分享一个插件,先看效果: 交流群:970353786,非诚勿扰. 源码如下: from nonebot import on_ ...
最新文章
- Matlab 快捷键 设置
- 360金融首席科学家张家兴:我们如何做数据AI融合中台?
- python入门新手项目-新手零基础入门Python项目实战
- 蓝牙a2dp硬件卸载是什么意思_索尼这项音频黑科技 让蓝牙音质从此不输有线
- 小程序mysql+php测试,分享微信小程序的一些常见辅助测试功能:chance
- hihoCoder #1384 : Genius ACM [枚举+倍增]
- java web 保护_java web项目请求控制及简单漏洞防范
- matlab的矩阵编译器,MATLAB引擎方式实现VC与MATLAB混合编程
- virtualbox centos安装增强工具
- 回顾:饶毅教授的一次采访
- python数据类型汇总_python知识汇总(数据类型和字符串)
- CodeForces - 274B Zero Tree
- Linux面试题总结(一)
- 链脉企业文化篇之“链脉爱的早会”
- 初学SLAM二之BA当中的数学知识点
- 编写matlab语句计算试题,MATLAB测验考试题
- 惠普打印机介质不匹配_惠普打印机的常见故障
- soot基础 -- 相关数据结构SootClass,SootMethod,SootBody,Unit的进一步说明
- React-router(8)Link 标签 to 属性为对象时(路由信息传值)
- (P24)管道:管道的读写规则
热门文章
- 练习4-11 统计素数并求和
- Matlab将散点绘制为平滑曲线的简单方法
- 象牙大钢琴II压缩版-Synthogy Ivory by JR Samples II Kontakt
- opnet物联网仿真-编程集锦
- linux exosip编译,Linux平台下eXosip2编译笔记
- python抓取北京所有社区医院经纬度
- linux aaa认证服务器,华为设备安全之AAA认证
- 计算机cdr教程,计算机平面设计案例教程 (Photoshop+CorelDRAW)
- 竞品分析 | 荔枝VS喜马拉雅FM:有声音频APP的发展与社交
- 解决Windows10专业版无法安装语言包!!!