nonebot2调用文本API发送随机文本
前言
我们经常可以看到能够发送随机文本的QQ机器人,接下来我们会学习到如何编写这种插件
效果展示
正文
文本API选择
文本API可以按照其返回数据的方式分成几种,我这里使用的API的类型是直接返回文本,就比如说访问我自己部署的一个笑话API:https://api.lklblog.cn/api/qwxh.php,他就会随机返回所需的文本,比如说:
早上骑车时不小心别到旁边宝马的车头,我摔在地上半天缓不过神,车主下车蹲在我身边失望地说:小兄弟,你这瓷碰的不够专业啊!你躺的地方所照射的阳光并不会让司机瞬盲,而且身体与车头的直线距离太长,很难假造碰撞伤害!我愣住了,问他为何懂的这么多,他拍拍宝马说:"你以为它是怎么来的?
至于这种文本API怎么制作,大家可以看我的这篇文章:超简单随机文本API制作教程_ITSevin的博客-CSDN博客。或者你直接去网上找现成的这种类型的现成文本API也可以,就比如我自己部署的API:LKL·API - 免费提供API服务
插件编写
由于这个插件很简单,我在这里就不详细解说代码了,大家可以参考我下面的代码以及查看nonebot官方文档自行研究,代码如下
from nonebot import on_regex
from nonebot.typing import T_State
from nonebot.adapters.onebot.v11 import GroupMessageEvent,Bot,Message
import requestsrandom_joke = on_regex(pattern = r'^讲个笑话$')@random_joke.handle()
async def joke(bot: Bot, event: GroupMessageEvent, state: T_State):msg = await get_joke()# at_ = f"[CQ:at,qq={event.get_user_id()}]"await random_joke.send(Message(msg))async def get_joke():url = 'https://api.lklblog.cn/api/qwxh.php'get_data = requests.get(url=url,timeout=20)#print(get_data)get_txt = get_data.text#print(data)return get_txt
你需要把代码上面的“讲个笑话”改成你自己触发插件的命令,把代码上面的链接改成你要调用的API链接,然后如果你触发插件的命令是中文的,你可能需要把插件的编码改成utf8(一般默认就是utf8,但是你最好检查一下),不然会引发乱码
nonebot2调用文本API发送随机文本相关推荐
- C#调用新浪微博API发送消息成功
成功一小步,用C#调用新浪微博API发送消息成功,庆祝一下.其实没什么难的,主要是看新浪的开发文档受到了误导. 在新浪的文档里面的参数从说明到例子都是组合参数,并且遗漏了一个参数说明,调试的时候查看错 ...
- java 调用微信api发送消息
要在 Java 中调用微信 API 发送消息,你需要做的第一步是在微信公众平台中注册自己的公众号,然后获取到自己的 AppID 和 AppSecret. 然后你可以使用微信公众平台提供的开发文档,来了 ...
- 调用Mailgun API发送电子邮件一例
Mailgun提供了免费的邮件发送服务,适合拿来做通知提醒一类的服务.免费版默认支持每天发送多达300封邮件,最多可以发10,000封. 注册方法:访问 https://www.mailgun.com ...
- java传真发送_调用java API发送传真
最近搞了一个java发送传真程序,在网上搜了半天,没找到具体的例子,最后找到了国外的开源技术jacob,才解决了这个问题. 环境要求:windows xp系统,jdk 1.4(不要太高或太低,不然会发 ...
- 调用Java API发送传真
最近搞了一个java发送传真程序,在网上搜了半天,没找到具体的例子,最后找到了国外的开源技术jacob,才解决了这个问题. 环境要求:windows xp系统,jdk 1.4(不要太高或太低,不然会发 ...
- 程序调用飞信API发送免费短信(JAVA例子,其他语言一样用)
网上看到有网页版的飞信,http://fetionlib.appspot.com/ 可以添加好友,群发和定时发送短信给飞信好友,还开放了API接口供程序调用,可以用它来监控机器是否正常服务定期给管理员 ...
- java调用移动api 发送短信验证码
MasSendUtils.java public class MasSendUtils {private static Logger logger = Logger.getLogger(MasSend ...
- python微信接口发送消息_调用微信API发送微信消息python脚本
前阵子部署zabbix监控系统,做了个微信报警,下面分享下微信调API发消息的脚本.要用微信发消息,自己首先要有微信企业号,如果没有申请也容易 准备工作: 1.申请微信企业号 2.在企业号后台创建应用 ...
- uni-app中使用native.js调用android API实现双卡发送短信
uni-app 是一个使用 Vue.js 开发所有前端应用的框架,开发者编写一套代码,可发布到iOS.Android.H5.以及各种小程序(微信/支付宝/百度/头条/QQ/钉钉)等多个平台官网地址 因 ...
最新文章
- 《101 Windows Phone 7 Apps》读书笔记-Silly Eye
- sm4 的s盒_SM4国密算法Java版
- helm部署minio
- 北风设计模式课程---享元模式
- apache的产品分类说明
- 基于CFS算法的schedule()源码分析
- 生成sql条件的类(转)
- 【渝粤教育】国家开放大学2018年秋季 8660-22T (1)农科化学基础知识 参考试题
- linux子目录大小限制,如何解决linux子目录的数量限制?
- 例2.6 Sort - 九度教程第11题(Hash的应用)
- 抖音高贵气质的签名_抖音上,那群认真分享知识的人真“酷”
- Java List的安全删除
- 【C语言/入门游戏】猜数字,关机指令游戏及go to语句
- Nexus 搭建docker本地仓库(hosted)和私有仓库(proxy)
- 使用 Kali Linux 爆破 WiFi 密码
- 如何将逻辑地址转换成物理地址
- 微信公众号开发之生成并扫描带参数的二维码(无需改动)
- Films have seen
- 关于软件测试行业现状的一些思考
- 遥感影像LUCC分类方法综述