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机器人插件一:实时天气获取相关推荐

  1. Nonebot QQ机器人插件三:王者荣耀猜英雄游戏

    Nonebot QQ机器人插件三:王者荣耀猜英雄游戏 1. 数据录入 首先需要获取相应数据这里可以直接访问**「heros.xlsx」https://www.aliyundrive.com/s/3iN ...

  2. Nonebot QQ机器人插件九:qq群聊天记录词云图

    QQ机器人插件九:qq群聊天记录词云图 1. 将实时聊天记录保存到数据库 安装数据库可自行到网上查找,本文仅使用mysql数据库为例.linux下mysql数据库安装可参考(59条消息) Linux安 ...

  3. Nonebot QQ机器人插件五:随机网易云音乐

    QQ机器人插件五:随机网易云音乐 1. 导入需要使用的包 import nonebotfrom nonebot import on_keyword # 事件响应器函数 from nonebot.typ ...

  4. Nonebot QQ机器人插件六:随机笑话(语音)

    QQ机器人插件六:随机笑话(语音) 1. 导入需要使用的包 import nonebotfrom nonebot import on_keyword # 事件响应器函数 from nonebot.ty ...

  5. Nonebot QQ机器人插件四:每日一图

    QQ机器人插件四:每日一图 1. 导入需要使用的包 import nonebotfrom nonebot import on_keyword # 事件响应器函数 from nonebot.typing ...

  6. 【最新】QQ机器人插件

    QQ机器人 前言 QQ机器人功能展示 一.如何白嫖(用别人的插件) 二.如何自力更生(自己写) 前言 本文旨在如何为你的QQ机器人添加插件,也就是添加机器人的功能.添加插件的方法有两种,一种是用别人写 ...

  7. Python实现快递查询-QQ机器人插件

    目录 1.API接口请求 2.创建成新的QQ插件 Python实现快递查询功能.Python爬虫一直是一样好东西!只要想就可以爬取自己想要的对象!本次,将使用Python3.9即requests库AP ...

  8. 从零开始在服务器上搭建QQ机器人——插件(二)

    一.简介 在做完基本构建之后,自己的机器人旧可以开始使用了,但是只有一个内置的/echo命令.功能不够丰富. 因此,需要安装插件来获得更多的功能. 二.配置 参照nonebot的官网,编写命令 | N ...

  9. qq机器人插件之奥运奖牌获得数量

    在之前的文章讲到了如何制作机器人,传送门:qq机器人制作 今天呢,我来给大家分享一个插件,先看效果: 交流群:970353786,非诚勿扰. 源码如下: """ 作者:星 ...

  10. qq机器人插件之舔狗日记

    在之前的文章讲到了如何制作机器人,传送门:qq机器人制作 今天呢,我来给大家分享一个插件,先看效果: 交流群:970353786,非诚勿扰. 源码如下: from nonebot import on_ ...

最新文章

  1. Matlab 快捷键 设置
  2. 360金融首席科学家张家兴:我们如何做数据AI融合中台?
  3. python入门新手项目-新手零基础入门Python项目实战
  4. 蓝牙a2dp硬件卸载是什么意思_索尼这项音频黑科技 让蓝牙音质从此不输有线
  5. 小程序mysql+php测试,分享微信小程序的一些常见辅助测试功能:chance
  6. hihoCoder #1384 : Genius ACM [枚举+倍增]
  7. java web 保护_java web项目请求控制及简单漏洞防范
  8. matlab的矩阵编译器,MATLAB引擎方式实现VC与MATLAB混合编程
  9. virtualbox centos安装增强工具
  10. 回顾:饶毅教授的一次采访
  11. python数据类型汇总_python知识汇总(数据类型和字符串)
  12. CodeForces - 274B Zero Tree
  13. Linux面试题总结(一)
  14. 链脉企业文化篇之“链脉爱的早会”
  15. 初学SLAM二之BA当中的数学知识点
  16. 编写matlab语句计算试题,MATLAB测验考试题
  17. 惠普打印机介质不匹配_惠普打印机的常见故障
  18. soot基础 -- 相关数据结构SootClass,SootMethod,SootBody,Unit的进一步说明
  19. React-router(8)Link 标签 to 属性为对象时(路由信息传值)
  20. (P24)管道:管道的读写规则

热门文章

  1. 练习4-11 统计素数并求和
  2. Matlab将散点绘制为平滑曲线的简单方法
  3. 象牙大钢琴II压缩版-Synthogy Ivory by JR Samples II Kontakt
  4. opnet物联网仿真-编程集锦
  5. linux exosip编译,Linux平台下eXosip2编译笔记
  6. python抓取北京所有社区医院经纬度
  7. linux aaa认证服务器,华为设备安全之AAA认证
  8. 计算机cdr教程,计算机平面设计案例教程 (Photoshop+CorelDRAW)
  9. 竞品分析 | 荔枝VS喜马拉雅FM:有声音频APP的发展与社交
  10. 解决Windows10专业版无法安装语言包!!!